2013-05-02 140 views
2

我在尝试实现现有的E2E测试AngularJS应用程序Karma测试运行器。我的申请位于host1.internal,我在host2.internal。所以在我的人缘配置文件我有:E2E测试远程AngularJS应用程序

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

之前它记录显示了不同<div>的是的index.html内,但在其登陆后与ng-hide='loggedIn'的div之前隐藏所有可见。问题是,局部视图文件是为<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(我不知道为什么?),我得到错误关于好旧访问控制 - 允许 - 来源标题。

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

谢谢!

+0

当你启动业力你会看到关于urlRoot的警告消息? – 2013-05-02 15:19:42

+0

'[WARN] config - urlRoot标准化为“/ e2e /”',但那是因为我已经把urlRoot放到了karma配置文件中。没有urlRoot它甚至无法加载我的应用程序的首页。 – 2013-05-03 05:57:41

回答

1

我找到了解决这个问题的方法,我把$templateCache用了。这样,所有的html文件都被加载到一个.js文件中,以及我的index.html上的所有其他脚本。

如果您使用像我这样的Grunt,请看grunt-html2js

干杯!