1

Frisy と jasmine-node を使用して、Meteor API をテストします。

チャット アプリでディスカッションの削除をテストしたい。そのためには、チャットで新しいディスカッションを作成し、ディスカッションにメッセージを追加する必要があります。

2 番目の .then() メソッドの後に置くと、テストが失敗することに気付きました。3 番目の .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) テスト行に失敗します。この行を削除すると、テストが実行され、ジャスミンはそれを正しく検証します。

(2) と (3) のテストを無視しない方法を知っていますか?

4

1 に答える 1