循环开玩笑测试

时间:2017-08-30 17:41:46

标签: reactjs unit-testing jestjs enzyme

我试图像这样在Jest中循环测试:

describe('Test <ChartWidget /> structure in other views.', () => {

const buttonsText = ["Totals per month", "Totals per year", "Values per month"];


buttonsText.forEach( (text) => {
    const button = mountedChartWidget.find('button').findWhere(button => button.text()===text);
    button.simulate('click');    

    it('has correct header', () => {
        expect(mountedChartWidget.contains(
            <header>
                <h1>DATA CHART</h1>
                <h2>{text}</h2>
                <p>Use the buttons and filters below to display different data for different countries or years.</p>
            </header>
        )).toEqual(true);            
    });
)};

我发现有几个主题说这是可能的,除非它每次都惨遭失败,而且正如我发现的那样,这是因为&#39;它&#39;块都是马上执行的。 (我通过在&#39; it&#39;块之前添加console.log(文本)来解决问题,并且控制台显示&#39; text&#39;的值都在三个&#39之前正确记录39;它的块被执行,因此最终的结果是在文本已被分配其最终值之后执行的三个块。

有谁知道如何正确实现这样的循环?有什么方法可以延迟执行&#39;它&#39;阻止它在文本&#39;之前运行。有正确的价值吗?

谢谢!

0 个答案:

没有答案