如何在Docker环境中testingangular度应用程序而无需打开浏览器?

目前,我试图在Docker环境中使用ngtesting运行angular度应用程序的unit testing案例,所以它打开浏览器我不需要在prod发生,所以我试图运行testing – 浏览器PhantomJS,但它不是加工。

得到这个错误22 08 2017 11:52:42.355:WARN [karma]:没有捕获的浏览器,打开http:// localhost:9876/22 08 2017 11:52:42.370:INFO [karma]:Karma v1.7.0 server启动在http://0.0.0.0:9876/ 22 08 2017 11:52:42.370:信息[启动器]:启动无限并发浏览器PhantomJS 22 08 2017 11:52:42.382:INFO [启动程序]:启动浏览器PhantomJS 68没有捕获的浏览器,打开本地主机:9876/22 08 2017 11:53:42.382:WARN [发射器]:PhantomJS在60000毫秒没有被捕获,正在查杀。 22 08 2017 11:53:44.383:WARN [发射器]:PhantomJS在2000毫秒没有被杀害,发送SIGKILL。 22 08 2017 11:53:46.385:WARN [发射器]:PhantomJS在2000毫秒内没有被SIGKILL杀死,继续。

您不能在没有浏览器的情况下运行angular度testing,因为它只是在浏览器上运行的前端应用程序的一部分。 我看到你正在试图在PhantomJs上运行它。 PhantomJs是一个JavaScript项目,旨在模拟angular度应用程序testing的浏览器。

从你的angular度来看,你想要的只是确保testing运行,而你并不真正关心浏览器开放。 这正是“无头”浏览器的意思。 没有GUI的浏览器。 PhantomJs是无头浏览器的一个例子,因为它可以在不需要GUI的情况下在pipe线中运行testing,所以它变得非常stream行。 今天,Chrome还为testing跑步者提供了无头模式。

如果你已经用PhantomJs正确设置了Karmaconfiguration文件,那么你会发现它正常工作。 这里是一个人在Docker环境中为gitlab CIpipe道做你想做的事情的链接。

https://medium.com/letsboot/angular-4-and-testing-angular-cli-gitlab-ci-ng-test-phantomjs-tdd-afc20f50b928