node.js / karma /端到端测试:无法代理/app/index.html(错误:连接ECONNREFUSED)

时间:2013-06-10 13:35:17

标签: node.js testing windows-8 end-to-end karma-runner

以下是我在尝试从MS Windows 8 Professional上的AngularJS教程http://docs.angularjs.org/tutorial/step_05运行端到端测试时收到的消息。你能否告诉我如何让这个测试运行良好?

[2013-06-10 17:27:54.100] [WARN] config - "/" is proxied, you should probably change urlRoot to avoid conflicts
INFO [karma]: Karma server started at http://localhost:9876/
INFO [launcher]: <<< Starting browser Chrome
INFO [launcher]: --- Starting browser Chrome
INFO [Chrome 27.0 (Windows)]: Connected on socket id E20UigDmDqhk3jaRRYAP
WARN [proxy]: failed to proxy /app/index.html (Error: connect ECONNREFUSED)

ECONNREFUSED while running end-to-end test using Karma node.js package on MS Windows 8 Professional

2 个答案:

答案 0 :(得分:12)

您看到的错误表明您尚未启动网络服务器。由于您使用./scripts/e2e-test.sh来运行您的e2e测试,您需要让您的网络服务器从localhost:8000提供应用程序,docroot需要指向angular-phonecat文件夹,而不是app文件夹。这可以通过简单地运行./scripts/web-server.js来完成(参见step-00

请注意,还有第二种方法可以运行您的e2e测试。你可以访问

http://localhost:8000/test/e2e/runner.html 

答案 1 :(得分:0)

是的,问题是网络服务器没有运行。最容易运行本地的。

请参阅https://github.com/angular/angular-seed处的angular-seed(模板项目),了解有关如何设置项目(从此模板)以便能够运行测试的详细信息。

本质:

  • git clone https://github.com/angular/angular-seed
    • 我克隆为&angular-seed-template-project&#39;并将其用作我自己项目的模板。
    • git pull关闭此内容以关闭最新的工作并运行npm update以获取其最新的依赖关系
    • 他们实际上是说在git-hub上分叉angular-seed,这样你就可以轻松地git pull用最新的更改来更新你的项目(按照How do I merge a parent fork?)。但是我的理解是你只能分叉一次github项目,这将排除使用angular-seed作为模板。显然我需要更详细地看一下。
  • cd <the-project>
  • npm test运行单元测试
  • npm start以current-dir的应用为基础启动网络服务器。默认情况下,这不会作为进程运行,因此要么在运行命令行命令的其他终端中执行此操作,要么作为进程启动(稍后需要将其命名为node) - { {1}}
  • npm start &安装Selenium等等
  • npm run update-webdriver运行端到端集成测试

根据敏捷种子指令以这种方式执行此操作将避免此错误。