nightwatch.js - Nightwatch First Test 在 `before` 钩子完成之前运行
问题描述
测试不会等待 before 钩子完成。它立即运行。为什么测试不等到 before 钩子完成后才运行?我创建了显示问题的示例测试。
module.exports = {
"before": async browser => {
console.log("before start");
console.log("before start");
console.log("before start");
await new Promise((resolve, reject) => {
setTimeout(() => {
console.log("before wait");
console.log("before wait");
console.log("before wait");
resolve()
}, 5000)
});
console.log("after wait");
console.log("after wait");
console.log("after wait");
await browser.pause(5000);
console.log("after pause");
console.log("after pause");
console.log("after pause");
},
'step 1': async browser => {
console.log("step one");
console.log("step one");
console.log("step one");
await browser.pause(5000);
console.log("step one after pause");
console.log("step one after pause");
console.log("step one after pause");
}
};
before start
before start
before start
⠋ Running step 1:
step one
step one
⠋ Running step 1:
before wait
before wait
before wait
after wait
after wait
after wait
step one after pause
step one after pause
⠋ Running step 1:
after pause
after pause
⚠ Running step 1:
No assertions ran.
当我将之前的钩子更改为before-tests
它按预期工作时。
⠋ Running before-tests:
before start
before start
⠋ Running before-tests:
before wait
before wait
before wait
after wait
after wait
⠋ Running before-tests:
after pause
after pause
⚠ Running before-tests:
No assertions ran.
⠋ Running step 1:
step one
step one
⠋ Running step 1:
step one after pause
step one after pause
⚠ Running step 1:
No assertions ran.
OK. 2 tests passed (16.587s)
解决方案
推荐阅读
- python - 用圆圈表示人口规模的热图
- sql - Teradata:与数据类型不同,如何进行 LEFT OUTER JOIN?
- android - 如何在 Android 中正确测试片段
- c# - 是否可以在项目外访问 SetUpFixture?
- python - TF 2.0 MLP 精度始终为零
- python - 在 include() 中指定命名空间而不提供 app_name。提供 app_name 也不起作用
- git - InstallShield 项目中的哪些文件需要保存在源代码管理中?
- reactjs - React + TypeScript 只允许特定类型的孩子
- regex - 如何在 nginx 配置中为所有非根路径使用块?
- if-statement - 谷歌表格对于每个复选框 true 添加 8 小时