2013-11-22 42 views
0

我目前使用ngMockEE運行我的angularjs測試環境,它使用特殊的測試模塊允許我模擬http響應,angularjs e2e用模擬http測試斷言

var things = [thing01, thing02]; 

$httpBackend.whenGET('/v1/things?').respond(function() {return [200, things]}); 

在一個單獨的文件中,我定義了e2e測試,它調用了包含該測試模塊的things.html文件。

然後我定義一個e2e測試,像這樣;

browser().navigateTo('/test/thingTest.html'); 
expect(element('.table.things tbody tr').count()).toEqual(2); 

現在,將是很好的,如果我能以某種方式對夫婦兩個togther,這樣我就可以寫這樣一個說法 - 避免硬編碼是這將需要更新隨着時間的推移,如果更新我的的things

browser().navigateTo('/test/thingTest.html'); 
expect(element('.table.things tbody tr').count()).toEqual(things.length); 

列表不過,我不太清楚,如果這是可能的或可取的。有什麼想法嗎?

回答

0

嗯,你可以使用包含這些值的e2eData.js文件,這將通過您的測試加載兩個,並通過測試頁面:

在e2eData.js:

... 
var e2eData = { 
    things : [thing01, thing02], 
    ... 
} 

在您的E2E模塊:

$httpBackend.whenGET('/v1/things?').respond(function() {return [200, e2eData.things]}); 

在您的測試:

expect(element('.table.things tbody tr').count()).toEqual(e2eData.things.length); 
+0

我想我試圖避免使用窗口範圍,但是,這是一種方法。 – GrahamB