开玩笑beforeEach / afterEach只是这个范围内的块?

时间:2019-11-08 00:30:59

标签: 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块中保留测试之间的数据库状态,然后在describe块末尾将其清除。

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

我可以将所有期望值都放在一个测试中,但是随后我将无法准确了解测试中哪一部分失败了。

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

1 个答案:

答案 0 :(得分:0)

如果我正确理解您的问题,那么您正在寻找beforeAllafterAll方法。