目前,我正在尝试使用ng测试在docker环境中运行角度应用程序的单元测试用例,因此它打开了一个浏览器,我不需要这样做,因此我尝试了运行测试 - 浏览器PhantomJS但它无法正常工作。
我收到此错误 22 08 2017 11:52:42.355:WARN [业力]:没有捕获的浏览器,打开http://localhost:9876/ 22 08 2017 11:52:42.370:INFO [业力]:Karma v1.7.0服务器始于http://0.0.0.0:9876/ 22 08 2017 11:52:42.370:INFO [launcher]:启动无限并发的浏览器PhantomJS 22 08 2017 11:52:42.382:INFO [launcher]:启动浏览器PhantomJS 68%建筑模块507/523模块16活动... / rxjs / observable / PromiseObs22 08 2017 11:52:53.039:WARN [业力]:没有捕获的浏览器,打开localhost: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杀死,继续。
答案 0 :(得分:1)
如果没有浏览器,您无法运行角度测试,因为它只是在浏览器上运行时才能运行的前端应用程序的一部分。我看到你试图在PhantomJs上运行它。 PhantomJs是一个javascript项目,旨在模拟用于角度应用程序测试的浏览器。
从您的角度来看,您想要的只是确保测试运行并且您并不真正关心浏览器的打开。这正是“无头”浏览器的意义所在。没有GUI的浏览器。 PhantomJs是无头浏览器的一个例子,它在过去很流行,因为它可以在不需要GUI的情况下运行测试。今天,Chrome还为测试跑步者提供了无头模式。
如果您已经使用PhantomJs正确设置了Karma配置文件,那么您会发现它可以正常工作。这是一个人在一个gitlab CI管道的docker环境中做你想做的事情的链接。