testing - 开 Jest beforeEach/afterEach 只是这个范围内的 block ?

标签 testing jestjs

我想做这样的事情:

beforeEach(() => {
   populateDatabase(); 
}); 

afterEach(() => {
   clearDatabase(); 
}); 


describe("Create and update user test suite", () => {
   let user; 
   it("Post a new user returns a user", async () => {
        const initUser = {/*...*/}; 
        user = await createUser(initUser); 
        //expect... 
   }); 

   it("Modify the user returns the modified user", async () => {
       user = await modifyUser({...user, ...{/*...*/}); 
       //expect...
   }); 

}); 

describe ("Create and update business test suit", () => {
   let business; 
   //it... 
}); 

也就是说,我想在 describe block 中保留从测试到测试的数据库状态,然后在 describe block 的末尾将其清除。

但是这段代码的工作方式是它会在每次测试后初始化并清除,这不是我想要的。

我可以将所有预期都放在一个测试中,但这样我就无法准确了解测试的哪一部分失败了。

处理此问题的最佳方法是什么?

最佳答案

要在每个描述 block 完成后重新初始化数据库,请检查 beforeAllafterAll方法。

将这些方法放在 describe block 会将它们的范围限定到该特定 block

关于testing - 开 Jest beforeEach/afterEach 只是这个范围内的 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58758794/

相关文章:

typescript - 如何使用 jest 和 TS 来模拟 EventSource(尝试了大部分模拟策略)

android - 如何跨多个进程测试 Android 应用程序?

asp.net - Nunit 和 Web 应用程序

perl - 设计一个perl Moose类方便测试

reactjs - Jest 获取 json、xml 或 html 文件中通过和失败测试的摘要?

javascript - 使用 jest-image-snapshot 比较图像时如何忽略 body 标签中的区域或元素?

reactjs - NextJS Router & Jest : How can I mock router change event

angular - 使用 Jest 时无法理解的单元测试效果错误

jsf - 使用 JMeter 面对 FormSignature?

java - Android 测试 - 无法设置正确的配置