使用PhantomJS和Travis CI运行实习生testing
语境:
我正在使用Intern框架运行一些unit testing。 由于我testing的代码是我在NPM上发布的一个包,我想将它与Travis CI集成。
在我的本地,所有的testing运行良好。 但是,使用Travis CI,testing因为启动PhantomJSnetworking服务器而停滞不前。
这是我的Travis CI文件:
language: node_js node_js: - "4" env: - CXX=g++-4.8 addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-4.8 before_script: - bower install - npm install grunt-cli -g - grunt installation - phantomjs --webdriver=4444
因为phantomjs
命令启动了一个web服务器,所以它永远不会运行npm test
。 它只是暂停在networking服务器上。
题:
启动PhantomJS后,如何进行npm test
? 有什么方法可以将该过程移到后台,还是启动另一个过程来运行我的testing? 还是有一种方式调用phantomjs --webddriver=444
和intern-runner config=tests/intern
在同一时间?
由于Travis CI命令只是简单的shell命令,你应该能够启动phantomjs,然后继续分叉 :
- phantomjs --webdriver=4444 &
(注意最后的&符号)
您可能还需要添加sleep
来启动进程时间,因为PhantomJS似乎没有办法自己守护进程或在准备就绪时触摸pid文件。
还有很多其他脚本和/或Grunt任务可以用来运行PhantomJS,但这应该是解决您的问题所需的最小更改。
- NodeJS – 如何在没有module.exports的情况下testingindex.js
- node.js与ASP.NET Core性能testing的意外结果
- 在竹子上运行时,量angular器testing用例会冻结
- 请求正文在负载testing中不正确
- 断言在摩卡testing中打破asynchronousfunction
- 如何从Web框架中分离业务逻辑进行testing?
- 茉莉花是在量angular器超时,Selenium服务器之后崩溃(问题出现在Chrome浏览器,Firefox – 确定)
- 使用超级testing时,将节点应用程序重置为已知状态
- ElasticSearch Nodejs Express自动化testing