node.js - 满足条件时取消所有 Protractor 测试

标签 node.js angular jasmine protractor e2e-testing

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

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

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

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

我发现一些 npm 包强制测试在第一次失败时退出( Jasmine 失败鲸和 Jasmine 快速失败),但我不希望我的测试在错误环境之外的任何其他异常上停止。

我尝试在 protractor.conf.js 的 onPrepare() 方法中进行此测试。我可以在那里抛出 new Error() 但我无法发出 http 请求(甚至没有定义基本的 XmlHTTPRequest)

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

最佳答案

process.exit() 似乎对于您的用例来说是一个足够好的解决方案。

关于node.js - 满足条件时取消所有 Protractor 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55352511/

相关文章:

javascript - 测试子类时如何监视祖父类中的导入函数?

javascript - 外国时间到本地时间

javascript - 访问 mqtt 回调范围之外的类属性

javascript - 如何使用 Jasmine 模拟另一个模块中所需的模块

使用 Team Foundation Server Build 进行 JavaScript 单元测试

javascript - Angular 1.5 && 异步/等待 && Jasmine 测试

node.js - 安装了 NodeJs 但无法执行。用 bash 脚本搞砸了

ruby - RabbitMQ/AMQP 未处理的 channel 错误 - NOT_FOUND

angular - 如何仅在用户下载应用程序后获取设备 token ?

javascript - Internet Explorer (10, 11) 加载 Angular 2 应用程序非常慢