我试图使我的e2e测试环境与实际的生产环境一样。我发现当我从我的应用程序中取出ngMockE2E并运行实际命中后端服务器的测试时,我在PhantomJS中的所有测试都会失败。在所有其他浏览器中测试总是通过。
我不确定这是什么原因。我所知道的是,当我把ngMockE2E放回去时,所有的测试都在PhantomJS中传递,当我把它取出时依赖于xhttp请求的测试失败了。
活后端的另一个原因是交叉起源。但就像我说它在所有其他浏览器中都可以正常工作。我想知道PhantomJS是否没有cors支持。
有谁知道如何解决这个问题?我应该总是使用嘲笑吗?
答案 0 :(得分:0)
对于真正后端的E2E测试,我会考虑使用Protractor。据我所知,ngMock和ngMockE2E都是伪造与真实服务器的连接。使用这些库,您可以对Angular项目进行单元测试,以便它可以隔离。
请注意,如果从头开始,使用Protractor设置E2E测试需要更多的工作。然而,还有初学者项目(Yeoman),已经有了这个设置。例如,您可以将generator-angular-gulp用于您的应用程序,或者您可以查看它们是如何设置的。