取消满足条件的所有量角器测试
Cancel all protractor tests on condition met
我有一个基本的 Angular 6 应用程序,默认设置了 e2e 测试。
我们在测试数据库上进行 CRUD 操作(在开始 e2e 测试之前,测试环境的后端应该 运行ning)。
这个想法是请求一个特定的端点,如果测试环境是 运行ning,则 returns 为真。 (快速服务器中的后端)
在第一个规范中,我可以提出该请求,但抛出 new Error() 不会停止测试。
我发现一些 npm 包强制测试在第一次失败时退出(jasmine fail whale 和 jasmine fail fast)但我不希望我的测试在错误环境之外的任何其他异常上停止。
我尝试在 protractor.conf.js 中的 onPrepare() 方法中进行此测试。我可以在那里抛出 new Error() 但我无法发出 http 请求(甚至没有定义基本的 XmlHTTPRequest)
只有当正确的环境 运行ning 时,我的解决方案才能确保测试 运行?
您可以为您的案例使用 jasmine done 函数。
it('should do something', (done) => {
try {
// doing something and an error happend
throw Error('failure');
} catch (error) {
done.fail(error);
}
});
测试将失败并被标记为失败,并将中止当前套件中的未来测试 "describe"
process.exit()
似乎是适合您的用例的解决方案。
我有一个基本的 Angular 6 应用程序,默认设置了 e2e 测试。
我们在测试数据库上进行 CRUD 操作(在开始 e2e 测试之前,测试环境的后端应该 运行ning)。
这个想法是请求一个特定的端点,如果测试环境是 运行ning,则 returns 为真。 (快速服务器中的后端)
在第一个规范中,我可以提出该请求,但抛出 new Error() 不会停止测试。
我发现一些 npm 包强制测试在第一次失败时退出(jasmine fail whale 和 jasmine fail fast)但我不希望我的测试在错误环境之外的任何其他异常上停止。
我尝试在 protractor.conf.js 中的 onPrepare() 方法中进行此测试。我可以在那里抛出 new Error() 但我无法发出 http 请求(甚至没有定义基本的 XmlHTTPRequest)
只有当正确的环境 运行ning 时,我的解决方案才能确保测试 运行?
您可以为您的案例使用 jasmine done 函数。
it('should do something', (done) => {
try {
// doing something and an error happend
throw Error('failure');
} catch (error) {
done.fail(error);
}
});
测试将失败并被标记为失败,并将中止当前套件中的未来测试 "describe"
process.exit()
似乎是适合您的用例的解决方案。