我有一个包含多个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);
});
});
答案 0 :(得分:0)
为清晰起见,我认为,将其分解的方式很好。测试的重点不是优化它们的性能,而是挑选出特定的测试用例,并弄清楚它们何时会失败。
如果您在一次迭代中进行所有检查,则可以通过responseData
减少迭代次数,但是要理解,您会牺牲对失败的了解,因为您现在要在一个测试中测试2个条件单程而不是1。