gpt4 book ai didi

javascript - 为什么在编写 JavaScript 测试时使用 beforeEach()?

转载 作者:行者123 更新时间:2023-11-28 21:22:10 25 4
gpt4 key购买 nike

我正在学习如何为我的代码编写测试,我的讲师解释说要将要呈现的组件放在 beforeEach() 函数中,如下所示...

describe('CommentBox', () => {
let component;

beforeEach(() => {
component = renderComponent(CommentBox);
});

it('has the correct class', () => {
expect(component).to.have.class('comment-box');
});

it('has a text area', () => {
expect(component.find('textarea')).to.exist;
});

it('has a button', () => {
expect(component.find('button')).to.exist;
});
});

为什么要使用 beforeEach()。为什么不像这样在 describe 函数的顶部声明组件变量...

describe('CommentBox', () => {
const component = renderComponent(CommentBox);


it('has the correct class', () => {
expect(component).to.have.class('comment-box');
});

it('has a text area', () => {
expect(component.find('textarea')).to.exist;
});

it('has a button', () => {
expect(component.find('button')).to.exist;
});
});

这似乎可以节省几行额外的代码,并且可以少编写一个函数?

最佳答案

beforeEach 在每次测试之前运行。这意味着每个测试都会获取新数据进行测试。

如果以其他方式进行,每个测试都可以修改对象,然后为下一个测试污染对象。

最好不要在测试之间创建依赖关系,以便您可以更准确地找到错误或确保您的测试实际测试了您想要的逻辑。

我假设您的测试 renderComponent

关于javascript - 为什么在编写 JavaScript 测试时使用 beforeEach()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48846233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com