如何在 Playwright 测试中根据条件不同使用 afterEach
· 263 词 · 2 分钟 读完 playwright基础 翻译
在某些情况下,你可能希望在测试中使用 afterEach 来清理数据,但并非所有情况下都需要清理数据。我的具体例子是我在测试一个 POST 接口时,我们有正面和负面的测试。当我成功创建一个 POST 时,我希望在 afterEach 中删除刚刚创建的内容,但当我进行负面测试时,POST 并没有创建新的项目,我不需要运行 afterEach 来清理数据,因为它会因为试图删除不存在的 id 而失败。
解决方案是使 afterEach 有条件的被调用。请看下面的代码示例,我们创建了一个新变量triggerAfterEach
,并设置为true
来触发 afterEach。如果在测试中没有分配triggerAfterEach
,afterEach 代码将不会执行。
test.describe("测试组", async () => {
let triggerAfterEach: boolean;
test.afterEach(async () => {
if (triggerAfterEach) {
//在这里执行after代码
}
});
test("有afterEach的测试场景", async () => {
triggerAfterEach = true;
});
test("没有afterEach的测试场景", async () => {
triggerAfterEach = false;
});
});
来源
Published Time: 2022-07-06