在满足条件的情况下取消所有量角器测试

时间:2019-03-26 08:14:21

标签: node.js angular jasmine protractor e2e-testing

我有一个基本的Angular 6应用,默认情况下已设置e2e测试。

我们在测试数据库上进行CRUD操作(在启动e2e测试之前,应先运行具有测试环境的后端)。

这个想法是请求一个特定的端点,如果测试环境正在运行,该端点返回true。 (快递服务器中的后端)

在第一个规范中,我可以发出该请求,但是抛出新的Error()不会停止测试。

我找到了一些npm软件包,它们会在第一次失败(茉莉花鲸和茉莉花很快失败)时强制退出测试,但是我不希望我的测试在错误的环境之外停止在其他任何异常上。

我尝试在onPrepare()方法中的protractor.conf.js中进行此测试。我可以在其中抛出新的Error(),但不能发出http请求(即使未定义基本的XmlHTTPRequest)

我有什么解决方案来确保仅在正确的环境下运行测试?

2 个答案:

答案 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);
        }
    });

测试将失败并被标记为失败,并将中止当前套件“描述”中的未来测试