Я использую Frisy с jasmine-node для тестирования Meteor API.
Я хочу протестировать удаление обсуждения в приложении чата. Для этого мне нужно создать новое обсуждение в чате и добавить сообщение в обсуждение.
Я заметил, что мой тест не удался, если я поставил его после второго метода .then (). Это не удается также после третьего .then (). Однако он работает правильно после первого метода .then ().
Пример кода с явным провалом теста expect (false) .toBe (true);:
var frisby = require('frisby');
describe("chat update", function() {
it("message added", function(done) {
frisby.post('http://localhost:3000/api/chat', {
name: "remove"
})
.then(function (res) {
let id = res._body.id;
expect(false).toBe(true); // (1) it fails the test
frisby.post('http://localhost:3000/api/chat/'+id+'/addmessage',
{
auteur: "Samuel",
message: "My message"
}
)
.then(function (res) {
expect(false).toBe(true); // (2) Without (1) it's ignored by frisby
frisby.post('http://localhost:3000/api/chat/remove',
{id: id}
)
.then(function (res) {
expect(false).toBe(true); // (3) Without (1) it's ignored by frisby
})
});
})
.done(done);
})
});
Если я запустил тест, он завершится неудачно из-за expect (false) .toBe (true); // (1) он не проходит тест. Если я удалю эту строку, тест будет запущен, и jasmine подтвердит ее правильность.
Вы знаете, как не игнорировать тесты (2) и (3)?