2017-09-13 5 views
0

현재 과 chai을 사용하는 두 가지 기능에 대한 테스트를 만들었습니다.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/