2015-05-21 63 views
3

我將角度應用程序的所有量角器E2E測試切換爲ngMock,以便我們可以模擬我們的資源/ http調用。但是,我找不到在該方案中加載ngMock的推薦方法。僅在使用量角器的測試環境中加載ngMock

我不想將腳本本身包含在我的實時應用程序當然,但我沒有看到通過量角器爲注入額外script元素或動態加載它的明確方法。

回答

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)--> 

首先設置你的咕嚕任務與target執行targethtml任務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); 
    }); 

Here是所有的任務,包和邏輯NE的工作模板cessary實施Protractor + CucumberJS + sugar-step(爲了便於同步,異步執行的步驟),並注入dinamically使用CucumberJS

+1

的@Around方法我真的不想ngMock在我的實際應用模板的任何地方,即使模擬模塊它只是在吞噬任務中被刪除,但部分問題是應用程序中的所有內容都加載了'requirejs'。 – helion3

+0

更清潔的方式是使用targethtml,否則你將不得不做什麼targethtml手工操作,你說,使用requiredjs與一個特定的gulp任務,並手動加載模型模塊到角度的應用程序 – Matho