Jestem zdezorientowany, więc jeśli używam SuperTest, który wygląda na to, że ma swoje oczekiwane twierdzenie, to nie muszę się martwić o używanie Chai? Albo kiedy wymagam Chai, Supertest wie o tym i używa go jako mechanizmu oczekiwań?Oczekiwania SuperTest vs. Chai.expect
Odpowiedz
SuperTest rozszerza obiekt SuperAgent o request
w celu włączenia funkcji expect
. Nie działa tak jak asercja Chai o numerze expect
, ale może być użyty do potwierdzenia stanu odpowiedzi HTTP i nagłówków i może być mieszany z Chai's expect
.
request(app).
get('/').
expect(200). // request.expect, is status code 200?
expect('Content-Type', /json/). // request.expect, does content-type match regex /json/?
expect(function(res){ // request.expect, does this user-provided function throw?
// user-provided function can include Chai assertions
expect(res.body).to.exist;
expect(res.body).to.have.property('status');
}).
end(done);
thx. Zastanawiam się, w jakiej sytuacji chciałbyś w teście BDD potwierdzić, używając "oczekiwań" SuperTestu, a potem zaraz po użyciu "oczekuj" od Chai. Chodzi mi o to, że kiedy czegoś się spodziewasz i to prawda, twój test BDD mija ... Po prostu nie widzę potrzeby, aby Chai spodziewał się, że podczas testowania prośby/odpowiedzi integracji w twoim BDD lub innych testach integracyjnych ... – PositiveGuy
- 1. NodeJS supertest dostęp do obiektu sesji
- 2. Błąd odwołania oczekiwania/asynchronicznego
- 3. Próbujesz użyć supertest, aby sprawdzić ciało odpowiedzi - otrzymywanie błędu
- 4. Jak wysłać parametry ciągu zapytania za pomocą supertest?
- 5. Scala/Slick, "Czas oczekiwania po 20000ms oczekiwania na połączenie" błąd
- 6. Oczekiwania EasyMock metodami pustymi
- 7. ManualResetEventSlim zalecany czas oczekiwania
- 8. Przekroczono limit czasu oczekiwania
- 9. Limit czasu oczekiwania WaitForSingleObject
- 10. Wiele czasów oczekiwania na Capybara?
- 11. Jak zatrzymać czas oczekiwania przyszłego
- 12. Limit czasu oczekiwania na MongoConnection
- 13. Ustaw negatywne oczekiwania w EasyMock
- 14. powiadomienie bez oczekiwania na zgłoszenie
- 15. Rozpoczęcie oczekiwania na osiągnięcie wyniku
- 16. Opis czasu oczekiwania AWS ELB
- 17. Domyślny czas oczekiwania na pingowanie
- 18. Czas oczekiwania na urllib2? - Python
- 19. Czy obiekt WaitForSingleObject spowoduje przełączenie kontekstu podczas oczekiwania z czasem oczekiwania wynoszącym zero?
- 20. GoogleAppEngine limit czasu oczekiwania na wyjątek
- 21. Jaki jest sens oczekiwania na DoSomethingAsync
- 22. Czas oczekiwania na połączenie Hibernacja/MySQL
- 23. Gniazdo Erlanga i czas oczekiwania na odebranie
- 24. przekroczony limit czasu oczekiwania na hibernację blokady;
- 25. Jak działają oczekiwania(). Do.be.true w Chai?
- 26. Czas oczekiwania na żądanie HTTP Express.js
- 27. URL żądania php bez oczekiwania na odpowiedź
- 28. Proste SQL DELETE dając czas oczekiwania
- 29. Jak dodać czas oczekiwania w scenariuszach kapibara?
- 30. Asynchronizacja/oczekiwanie bez oczekiwania na połączenie
Nie rozumiem, o co tu chodzi? Czy chcesz zrozumieć wewnętrzne działanie ram testowych i bibliotek asercji? – Clarkie
Gdy użyjesz SuperTest do złożenia wniosku i zaczniesz potwierdzać używając "oczekuj" Zakładam, że ponieważ zdefiniowałem oczekiwanie przez bibliotekę asercji Chai, że jest to biblioteka, której używa. Innymi słowy SuperTest nie ma własnej biblioteki asercji, prawda? Trzeba powiedzieć to co biblioteka poprzez utworzenie zmiennej spodziewać, jak to zrobić w Mocha a następnie SuperTest jest w stanie podjąć się wykorzystania tej zmiennej jakoś dołączyć go do końca, że to żądanie wywołania funkcji – PositiveGuy
hmm tylko spojrzał na docs SuperTest znowu i mówi, że używa funkcji "oczekiwać" SuperAgent, ponieważ wygląda na to, że "asercje HTTP są łatwe dzięki super-agentowi". Ale potem mówi również, że "SuperTest działa z każdą strukturą testową, tutaj jest przykład bez użycia jakiejkolwiek struktury testowej:" więc jestem zdezorientowany. – PositiveGuy