Mocha:在一个数组中的多个JSON对象上运行一组测试用例.需要正确的方法



我有一个包含多个JSON对象的数组,所以要在每个JSON对象上运行一组测试用例,我必须在每个测试用例中放入"foreach"。我确信这不是正确的方法,因为当我的测试用例数量增加时,效率会很低。我看了其他几个问题,但在这种情况下都没有成功。有人能给我建议正确的方法吗。

let responseData;    
before((done)=>
{
promiseResp.then((data) => {
responseData =data;
done();
}, (err) => {
console.log('promiseResp.err', err);
process.exit(1);
})
})
describe('AC 1', ()=>
{
it('Test1', ()=>
{
responseData.forEach(responseData=>
{
expect(responseData.abc).not.toBe(responseData.abc);
})
});
it('Test 2', ()=>
{
responseData.forEach(responseData=>
{
expect(responseData.abc).not.toBe(responseData.abc);
})
});
it('Test 3', ()=>
{
responseData.forEach(responseData=>
{
expect(responseData.xyz).toMatch(/[*xyz]/);
})
});
it('Test 4', ()=>
{
responseData.forEach(responseData=>
{
for (let i = 0; i < responseData.pqr.length; ++i)
{
expect(responseData.pqr).toBeFalsy();
}
})
});
after(()=>
{
process.exit(0);
});
});

为了清楚起见,我认为你把它分解出来的方式很好。测试的目的不是为了优化它们的性能,而是挑出特定的测试用例,并清楚地了解它们何时失败。

如果你在一次迭代中完成所有检查,你可以通过responseData减少迭代,但要明白,你会牺牲失败的清晰性,因为你现在要在一次测试中测试2个条件,而不是1个。

相关内容

最新更新