angularjs - 如何检测我处于测试模式angularjs

标签 angularjs testing protractor

我需要知道何时运行 Protractor ,我该怎么做? 我需要这样的东西:

if(mode==test) {
    do something
}

如何在我的 angularjs 应用程序中访问 protractor.conf.js 中的变量?

编辑:为了更清楚,我需要更改常量的一个值,因此代码如下所示:

angular.module('app').constant('testConstant', { name: 'Johny'}) 

我在我的测试环境中使用更改名称“Peter”而不是“Johny”。我怎样才能用这种方式做到这一点?

最佳答案

正确的方法是将一个 mock angular 模块附加到您的生产模块,在那里您可以覆盖或传递您想要的任何内容。

调用的方法browser.addMockModule ,它允许您将数据从节点( Protractor 运行的位置)传递到浏览器。

browser.addMockModule('modName', function(nameFromTest) {
  angular.module('modName', []).constant('testConstant', { name: nameFromTest});
  angular.module('yourProdAngularModule').requires.push('modName');
},'Johny');

上面的函数有点困惑,但是你传递的第三个参数可以传递给浏览器。

关于angularjs - 如何检测我处于测试模式angularjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51104103/

相关文章:

python - 使用 mongodb (mongoengine) 和 redis 测试 django

web-services - Weblogic Web 服务 + SSL

ruby-on-rails - 如何通过关联(具有中介模型的值)为多对多设置固定装置?

jasmine - Protractor 代码在多个测试套件之间共享

angularjs - Protractor 按钮单击并在新选项卡中打开页面

javascript - 通过将 key 发送到 Angular Material 中的 md-auto-complete Protractor 测试用例

angularjs - 如何在 ag-grid 中获取修改后的过滤器值

javascript - Angular cookie 在不同的 url 不返回相同的值

javascript - AngularJS css 动画 + 完成回调

javascript - 如何一次运行多个 Protractor 测试套件?