3

我正在将 Angular 应用程序的所有量角器 E2E 测试切换到ngMock,以便我们可以模拟我们的资源/http 调用。但是,我找不到ngMock在那种情况下加载的推荐方法。

我当然不想将脚本本身包含在我的实时应用程序中,但我没有看到通过量角器注入额外script元素或动态加载它的明确方法。

4

1 回答 1

0

您可以做的是使用grunt-targethtmlgupl-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 方法动态地注入模拟模块

于 2015-05-22T00:12:39.003 回答