所以我正在尝试让 Nightwatch.js 测试在 CircleCI 上运行。在 CircleCI 的配置过程中,我...将 Node 更新到最新版本(因为我们有 Node 服务器),npm 安装我们的包,下载 chrome(我们的测试在其上运行),成功构建我们的代码,启动产品服务器,然后运行测试。
当我在本地执行此操作时一切正常,但是当我在 CircleCI VM 上运行它时,所有测试都超时。
可能是因为CircleCI VM没有任何可以打开浏览器的图形界面?我不想使用像 PhantomJS 这样的东西,因为我们的测试应该真正测试特定浏览器 (chrome) 上的用户体验。
另一个提示是我应该为测试创建特殊的环境。目前我正在运行我的测试 --env default。如果需要,我应该为 CI 定义什么样的环境?
有什么想法吗?谢谢
编辑:好的,我发现问题不在于浏览器,而是因为 localhost 没有返回任何内容。在我的 CI 配置中,使用我的“npm”脚本手动启动服务器,但是由于某种原因我无法连接到它。 ping 返回“未知主机”。有什么想法吗?
EDIT2:好的,所以服务器正在运行。当我 curl localhost:8080 时,我得到自定义 404。但是,当我尝试 curl 实际模块(通过重定向我所做的“主机”文件)时,响应是... 来自服务器的空回复返回退出代码 52
。为什么?
最佳答案
好吧,问题是环境变量设置不好,所以应用程序的配置有点丢失。
在 circleCI 中,我需要在不带引号 ""的情况下声明我的环境变量,因为 circleCI 会自动为您插入它们。
关于node.js - CircleCI + 守夜人 : Tests time out,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40783161/