6

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

[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)

在 MS Windows 8 Professional 上使用 Karma node.js 包运行端到端测试时 ECONNREFUSED

4

2 回答 2

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 
于 2013-06-13T01:42:13.013 回答
0

是的,问题是 Web 服务器没有运行。在本地运行它最容易。

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

本质上:

  • git 克隆https://github.com/angular/angular-seed
    • 我克隆为“angular-seed-template-project”并将其用作我自己项目的模板。
    • git pull在此关闭最新的工作并运行npm update以获取其最新的依赖项
    • 他们实际上说要在 git-hub 上分叉 angular-seed,这将使您可以轻松地git pull使用最新更改更新您的项目(根据我如何合并父叉子?)。但是我的理解是,你只能 fork 一个 github 项目,这将排除使用 angular-seed 作为模板。显然,我需要更详细地研究这一点。
  • cd <the-project>
  • npm test运行单元测试
  • npm start以当前目录的应用程序为基础启动 Web 服务器。默认情况下,这不会作为进程运行,因此要么在运行命令行命令的不同终端中执行此操作,要么作为进程启动(称为进程node,您稍后需要将其杀死) -npm start &
  • npm run update-webdriver安装 Selenium 等
  • npm run protractor运行端到端集成测试

按照敏捷种子说明以这种方式进行操作将避免此错误。

于 2014-03-31T04:16:36.793 回答