我有一个基本的Angular 6应用,默认情况下已设置e2e测试。
我们在测试数据库上进行CRUD操作(在启动e2e测试之前,应先运行具有测试环境的后端)。
这个想法是请求一个特定的端点,如果测试环境正在运行,该端点返回true。 (快递服务器中的后端)
在第一个规范中,我可以发出该请求,但是抛出新的Error()不会停止测试。
我找到了一些npm软件包,它们会在第一次失败(茉莉花鲸和茉莉花很快失败)时强制退出测试,但是我不希望我的测试在错误的环境之外停止在其他任何异常上。
我尝试在onPrepare()方法中的protractor.conf.js中进行此测试。我可以在其中抛出新的Error(),但不能发出http请求(即使未定义基本的XmlHTTPRequest)
我有什么解决方案来确保仅在正确的环境下运行测试?
答案 0 :(得分:1)
process.exit()
对于您的用例来说似乎已经足够了。
答案 1 :(得分:0)
您可以为案件使用茉莉花色完成功能。
it('should do something', (done) => {
try {
// doing something and an error happend
throw Error('failure');
} catch (error) {
done.fail(error);
}
});
测试将失败并被标记为失败,并将中止当前套件“描述”中的未来测试