如何测试不良案例?

时间:2018-01-03 07:59:41

标签: node.js unit-testing automated-tests

鉴于有大量库用于从JSON模式或Mongoose模型等开始生成模拟/伪造数据,如何测试sw的行为(让他们说一个web api)错误的数据案例。 例如,假设我有一个名称,电子邮件,电话等用户服务,以及对其字段数据内容的深入描述。让我们说我也有不同的错误代码,应该为每个可能的错误抛出。我无法理解如何以编程方式生成错误的模拟数据(错误的电子邮件,错误的表单名称等)以进入测试。 此外,这些案例是否有一些测试过程规范? 谢谢!

----整合以回答TGW:我正在进行标准测试,例如:

const app = require(-myapp-); //express or whatever app
const userModel = require('-myModelDefinition-); //e.g. json schema
const mockingLibrary = require(-mockingLibrary-); //Sinon or any other 


//I'll test that the user->create method works properly on good input
const fakeUser = mockingLibrary.mock(userModel); 
describe('\'users\' service', () => {
  it('create method - good case',()=>{
    return app.service('users')
              .create(fakeUser)
              .should.eventually
              .have.property('_id'); //or any other test
   });
});
//What if I want to test on bad input?
const fakeUserWithErrorOnEmail = mockingLibrary.mock(userModel,{errorOn:'email'}); 
describe('\'users\' service', () => {
  it('create method - bad email case',done=>{
    return app.service('users')
              .create(fakeUserWithErrorOnEmail)
              should.be.rejectedWith(Error, "email-error-message");
   });
});

因此,我正在寻找的是一个模拟库,能够根据良好的描述/模式生成好的和坏的模拟数据。

0 个答案:

没有答案