2

我正在尝试使用Karma Test Runner实现对现有AngularJS应用程序的E2E 测试。我的应用程序位于并且我在. 所以在我的业力配置文件中,我有:host1.internalhost2.internal

proxies = {
  '/': 'http://host1.internal/',
};

在登录之前,它显示了不同<div>的内部index.html,但在登录后,它隐藏了所有可见的 div 之前ng-hide='loggedIn'<div ng-view>问题是使用AngularJS路由配置获取部分视图文件,如下所示:

$routeProvider.
  when('/', {
    controller: overviewController,
    templateUrl: 'views/overview.html',
    // templateUrl: 'http://host2.internal/views/overview.html',
    title_prefix: 'Home'
  }).
 etc. etc. etc.

我在浏览器的控制台中收到这些错误:

GET http://localhost:9876/views/homepage.html 404 (Not Found)

正如您在路由配置代码片段中看到的那样,我尝试获取具有完整 URL 的模板,但不幸的是,请求并不简单GET,它是OPTIONS(我不确定为什么?)而且我收到关于旧Access的错误- Control-Allow-Origin标头。

如何在Karma配置中正确配置代理,以便我可以获取这些静态文件?或者任何其他解决方案?

谢谢!

4

1 回答 1

1

我已经找到了解决这个问题的方法,我已经投入$templateCache使用。这样,所有 html 文件都与我的 .js 文件中的所有其余脚本一起加载到一个.jsindex.html文件中。

如果您像我一样使用 Grunt,请查看grunt-html2js

干杯!

于 2013-05-07T05:58:27.480 回答