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

时间:2018-12-03 15:22:36

标签: node.js mocha

我有一个包含多个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);
            });
        });

1 个答案:

答案 0 :(得分:0)

为清晰起见,我认为,将其分解的方式很好。测试的重点不是优化它们的性能,而是挑选出特定的测试用例,并弄清楚它们何时会失败。

如果您在一次迭代中进行所有检查,则可以通过responseData减少迭代次数,但是要理解,您会牺牲对失败的了解,因为您现在要在一个测试中测试2个条件单程而不是1。