2013-05-25 450 views
4

我想使用KarmaJS(0.9.2)運行我的Jasmine e2e測試。我在Windows 7上使用Google Closure和AngularJS(1.0.7)。當我使用karma start config\karma-e2e.js啓動業力時,一切正常(瀏覽器導航到正確的頁面),但它不執行我的測試(停止在瀏覽器導航到')。AngularJS:使用Karma運行e2e測試

config\karma-e2e.js文件:

basePath = '../'; 

frameworks = ['ng-scenario']; 

files = [ 
    'tests/e2e/**/*.js' 
]; 

autoWatch = true; 

singleRun = false; 

browsers = ['Chrome']; 

urlRoot = '/__karma/'; 

proxies = { 
    '/': 'http://localhost:8080/' 
} 

plugins = [ 
    'karma-ng-scenario' 
    'karma-chrome-launcher' 
] 

測試源(tests\e2e\scenarios.coffee)是:

describe 'Intro page view', -> 

    it 'has hello world message', -> 
    browser().navigateTo '/app/client/' 
    expect(element('#text').text()).toBe 'Hello World' 

我使用html5Mode路線,棱角分明的使用angular.bootstrap manualy bootstraped,我所有的咖啡腳本由編譯IDE和我在瀏覽器控制檯或命令行中看到沒有錯誤。那麼我該怎麼做呢?難道我做錯了什麼?

謝謝!

回答

6

我解決了這個問題。似乎角度場景需要ng-app指令,這至少是怪異的(或者它是一個錯誤)。所以我在索引頁面調用App.bootstrap()之後,將ng-app屬性添加到body中。現在一切正常。

<script type="text/javascript"> 
App.bootstrap(); 
document.body.setAttribute('ng-app', 'App'); 
</script> 
+0

+1我剛花了一個小時試圖弄清爲什麼測試沒有完成。 –

+0

正確。 「ngScenario不適用於使用angular.bootstrap手動引導的應用程序,您必須使用ng-app指令。」 - http://docs.angularjs.org/guide/dev_guide.e2e - 在評論前面的底部。 –