AngularJS:使用缓存源的Karma Scenario Test Runner进行e2e测试?

时间:2013-08-12 12:30:04

标签: testing angularjs karma-runner angularjs-e2e

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

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

显然,这是一个比Angular的e2e测试跑者更普遍的问题,但我现在决定将它留在这里,以防其他人有同样的问题。