1

我正在尝试使我的 e2e 测试环境像实际的生产环境一样。我发现当我从我的应用程序中取出 ngMockE2E 并运行实际命中后端服务器的测试时,我在 PhantomJS 中的所有测试都失败了。在所有其他浏览器中,测试总是通过。

我不确定这是什么原因。我所知道的是,当我把 ngMockE2E 放回去时,所有测试都通过了 PhantomJS,当我把它拿出来时,依赖于 xhttp 请求的测试失败。

实时后端的另一件事是跨源。但就像我说的,它在所有其他浏览器中都可以正常工作。我想知道 PhantomJS 是否没有 cors 支持。

有谁知道如何解决这个问题?我应该总是使用模拟吗?

4

1 回答 1

0

对于具有真实后端的 E2E 测试,我会考虑使用Protractor。据我所知,ngMock 和 ngMockE2E 都是用来伪造与真实服务器的连接。使用这些库,您可以对您的 Angular 项目进行单元测试,以使其独立工作。

请注意,如果您从头开始,使用 Protractor 设置 E2E 测试需要做更多的工作。然而,也有一些入门项目 (Yeoman),它们已经为您准备好了这个设置。例如,您可以将generator-angular-gulp用于您的应用程序,或者您可以看看他们是如何设置的。

于 2015-12-29T07:51:52.540 回答