我目前使用ngMockEE运行我的angularjs测试环境,使用特殊的测试模块允许我模拟http响应;
var things = [thing01, thing02];
$httpBackend.whenGET('/v1/things?').respond(function() {return [200, things]});
在一个单独的文件中,我定义了e2e测试,它调用包含该测试模块的thing.html文件。
然后我定义了这样的e2e测试;
browser().navigateTo('/test/thingTest.html');
expect(element('.table.things tbody tr').count()).toEqual(2);
现在,如果我能以某种方式将两者结合在一起会更好,那么我可以编写这样的断言 - 避免硬编码 2 如果我更新需要随时更新我的things
browser().navigateTo('/test/thingTest.html');
expect(element('.table.things tbody tr').count()).toEqual(things.length);
但是我不太确定这是可行的还是可行的。有什么想法吗?
答案 0 :(得分: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);