我见过一些库支持执行以下操作的功能
<Table>
<Table.Row>This would replace importing a component called TableRow separately.</Table.Row>
</Table>
Run Code Online (Sandbox Code Playgroud)
不确定这是否是不好的做法,但想知道你是如何做到的。
我有两个测试,看起来像:
import someThing from '../someThing';
jest.mock('../someThing');
describe('group', () => {
it('test #1', async () => {
someThing.someFunction.mockImplementation(() => 123);
});
it('test #2', async () => {
someThing.someFunction.mockImplementation(() => 456);
});
});
Run Code Online (Sandbox Code Playgroud)
我看到一个问题,第二个测试中似乎调用了第一个测试中的模拟实现。如果我禁用测试#1 测试#2 按预期工作。(我的实际代码比这更复杂)。
我需要为两者进行单独的模拟的原因是,在给定相同输入的情况下,一个应该返回失败结果,一个应该返回成功结果。
据我了解,JEST 并行运行所有测试,因此我假设发生的情况是两个测试同时修改了模拟实现,因为它是相同的导入。