gpt4 book ai didi

使用 Protractor 进行 AngularJS 指令测试

转载 作者:行者123 更新时间:2023-12-02 23:54:51 26 4
gpt4 key购买 nike

有什么方法可以使用 Protractor/WebDriver 进行单元测试吗?理想情况下,我想做的是隔离单个指令/组件,模拟其依赖项,注入(inject)各种数据,并在一堆浏览器中使用 Protractor 遍历它。

有什么办法可以做到这一点吗?

最佳答案

Protractor(更广泛地说,Selenium)通常用于自动化非技术最终用户能够自行执行的测试类型。话虽如此,有时在服务器上模拟各种错误情况可能很有用。您有几个选择:

  1. onPrepare 脚本:使用 onPrepare 脚本尽可能多地进行后端设置工作(如果可以提前完成)。将 Protractor 配置文件 ( see sample here ) 内的 onPrepare 属性设置为指向您的准备脚本,您可以在其中在数据库中设置记录、创建文件或执行其他任何操作.

  2. 使用protractor.addMockModule :这允许您通过添加一个模块在调用 Protractor.get 时在 Angular 之前加载来本质上模拟您的后端 API。请参阅博客文章中的示例(搜索“超越基础”):
    http://product.moveline.com/testing-angular-apps-end-to-end-with-protractor.html

  3. 在服务器上配置仅测试路由:作为最后的手段,您可以在服务器上配置一些只能在开发环境中访问的路由,以执行您可能执行的任何后端处理端到端测试中的需求。例如,如果您将 Node.js 与 Express.js 结合使用,您可能会执行如下操作。

仅测试路线:

// Store your server-side e2e methods in this file
var e2eBackend = require('./test/e2eBackend');

if (app.get('env') === "development") {
app.get('/e2e/simulateCrash', e2eBackend.simulateCrash);
// etc.
}

关于使用 Protractor 进行 AngularJS 指令测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23351683/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com