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