当运行两个单文件 *.spec.js,并各自这样定义 beforeAll,afterAll 钩子
// index.spec.js
beforeAll(async () => {
miniProgram = await automator.launch({
cliPath: '/Applications/wechatwebdevtools.app/Contents/MacOS/cli',
projectPath: './'
})
page = await miniProgram.currentPage();
await page.waitFor(500)
}, 50000)
afterAll(async () => {
await miniProgram.close()
})
// about.spec.js
beforeAll(async () => {
miniProgram = await automator.launch({
cliPath: '/Applications/wechatwebdevtools.app/Contents/MacOS/cli',
projectPath: './'
})
page = await miniProgram.reLaunch('../about/about');
await page.waitFor(500)
}, 50000)
afterAll(async () => {
await miniProgram.close()
})
分开运行单个 *.spec.js 测试一切正常,但一起运行的时候,后执行的那个测试用例就会报错,大概意思就是 Failed to launch wechat web devTools, 是不是因为前一个测试文件执行的 `miniProgram.close()` 之后,后面测试文件再 `automator.launch()` 的时候就无法正常打开
如果我删掉 afterAll 钩子,那么后一个执行的测试用例就会报错 page destroyed...
那么请问,多个测试用例脚本应该怎么来组织测试,不可能所有的测试用例写在一个文件里吧
我感觉你不应该用miniProgram.close()吧,这样,小程序关闭,还怎么能打开小程序里边的页面啊,那另一个页面的launch()方法页就调用不到吧,感觉你这个脚本里边的业务逻辑执行顺序有问题,可以自己检查一下
“ 是不是因为前一个测试文件执行的 `miniProgram.close()` 之后,后面测试文件再 `automator.launch()` 的时候就无法正常打开”
然后设置不调用,也不行,所以来请教应该如何组织