【问题标题】:AngularJS : e2e tests with Karma Scenario Test Runner using cached source?AngularJS:使用缓存源的 Karma Scenario Test Runner 进行 e2e 测试?
【发布时间】:2015-09-29 21:07:21
【问题描述】:

我正在尝试使用 Karma Scenario Test Runner 设置一些 AngularJS e2e 测试。我对源文件做了一些修改,但 Karma 在测试时似乎没有使用这些最新版本。

在源文件中,我为一些元素添加了 id。 Karma 仍然找不到它们,所以我在 e2e 测试中添加了一个暂停,以便我可以在测试运行器的当前页面上标记和“检查元素”(使用 Chrome)。源代码似乎是正确的,除了缺少最新的更改,即 id 不存在。那么这里发生了什么?我是否需要明确告诉 Karma 文件已以某种方式更新?

【问题讨论】:

  • 我在发布几分钟后找到了解决方案,但决定将问题留给其他人。

标签: testing angularjs karma-runner angularjs-e2e


【解决方案1】:

您可以通过强制 angularjs 清除应用程序缓存来解决此问题:

app.run(function($rootScope, $templateCache) {
   $rootScope.$on('$viewContentLoaded', function() {
      $templateCache.removeAll();
   });
});

【讨论】:

    【解决方案2】:

    在 Chrome 开发者工具设置中,选中“禁用缓存(在 DevTools 打开时)”。

    显然,这是一个比 Angular 的 e2e 测试运行器更普遍的问题,但我决定暂时把它留在这里,以防其他人有同样的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-21
      • 1970-01-01
      • 1970-01-01
      • 2013-05-16
      • 2016-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多