2017-09-13 17 views
0

現在、とchaiを使用して2つの関数のテストを作成しました。mocha、chaiでnodejsのテストケース

HTTP POST/GETリクエストとは異なるパラメータで応答が異なります。

しかし、同じ入力を期待する3つのテストケースをチェックするのがベストプラクティスです。例えば

describe('Function A', function() { 

it('should retrun 404 when receipt ID is invalid', function(done) { 
    chai.request(server) 
     .post('/generateSales/') 
     .send(validParams1) 
     .end(function(err, res){ 
      res.should.have.status(404); 
      done(); 
     }); 
}); 

it('should retrun 404 when receipt ID is invalid', function(done) { 
    chai.request(server) 
     .post('/generateSales/') 
     .send(validParams2) 
     .end(function(err, res){ 
      res.should.have.status(404); 
      done(); 
     }); 
}); 

it('should retrun 404 when receipt ID is invalid', function(done) { 
    chai.request(server) 
     .post('/generateSales/') 
     .send(validParams3) 
     .end(function(err, res){ 
      res.should.have.status(404); 
      done(); 
     }); 
}); 


}); 

単一itブロック内のすべてのparams(validParams1,2,3)をテストするための正しい方法は何ですか? (私は彼らが同じ応答を期待している)

答えて

0

非同期の問題のために、itブロック内でループを呼び出すべきではありません。

は私が

次のリンクは、あなたがitブロック内で20のAPIまたは20のテストケースを使用したいときモカとループ非同期テストの対処方法を示すit-eachモジュールを使用して、代わりに別の解決策を見つけた

https://whitfin.io/asynchronous-test-loops-with-mocha/

関連する問題