我正在将 Angular 应用程序的所有量角器 E2E 测试切换到ngMock
,以便我们可以模拟我们的资源/http 调用。但是,我找不到ngMock
在那种情况下加载的推荐方法。
我当然不想将脚本本身包含在我的实时应用程序中,但我没有看到通过量角器注入额外script
元素或动态加载它的明确方法。
我正在将 Angular 应用程序的所有量角器 E2E 测试切换到ngMock
,以便我们可以模拟我们的资源/http 调用。但是,我找不到ngMock
在那种情况下加载的推荐方法。
我当然不想将脚本本身包含在我的实时应用程序中,但我没有看到通过量角器注入额外script
元素或动态加载它的明确方法。
您可以做的是使用grunt-targethtml或gupl-targethtml因此index.html
您可以添加何时添加脚本的条件:
<!--(if target mock || e2e)><!-->
<script src="dev-mocks/mock-utils.js"></script>
<script src="dev-mocks/modules/authentication-service-mock.js"></script>
<!--<!(endif)-->
首先配置你的 grunt 任务以targethtml
使用target
e2e
/mock
grunt.registerTask(
'e2e',
'Automated tests',
function(target) {
var tasks = [
'clean:server',
'targethtml:e2e',
'concurrent:server',
'autoprefixer',
'connect:e2e'
];
return grunt.task.run(tasks);
});
这是一个工作模板,其中包含实现Protractor + CucumberJS + Sugar-step(用于轻松同步异步步骤执行)所需的所有任务、包和逻辑,并且还使用 CucumberJS 的 @Around 方法动态地注入模拟模块