我使用量角器为Angular应用程序运行一些end-2-end测试,据我所知,我在配置文件中指定的所有规范最终都会共享同一个量角器实例&#39 ; s browser
。
通常情况下这不是问题,但我也使用http-backend-proxy来设置我的应用程序的ajax调用的模拟响应。此模块使用浏览器实例,似乎在一个规范中设置模拟响应会污染后续规范的browser
实例,导致所有规范使用第一个规范中定义的模拟响应策略。
显然这会给测试隔离带来一些问题。
有没有人处理类似的事情?
[编辑]
我没有找到创建多个浏览器实例的方法,但确实找到了在测试之间取消注册http-backend-proxy响应的方法,这样就完成了我正在寻找的测试隔离。为了将来参考遇到同样问题的任何人,我正在使用:
proxy.onLoad.when()
设置来处理我的模拟响应。您可以使用以下命令取消注册:
proxy.onLoad.reset()
如果将它们分别放在beforeEach()
和afterEach()
块中,则可以在给定规范内的测试之间以及单独的spec文件之间完成隔离。