我想使用Lodash find
函数使我的量角器测试更可靠。
代替
element.all (by.repeater ('topic in topics')).then (function (topics) {
expect (topics[1].element (by.binding ('topic.name')).getText()).toEqual ('Maths');
expect (topics[1].element (by.binding ('topic.description')).getText()).toEqual ('2 + 2 = 4');
});
就像是
element.all (by.repeater ('topic in topics')).then (function (topics) {
var mathsTopic = _.find (topics, 'topic.name', 'Maths');
expect (mathsTopic.element (by.binding ('topic.description')).getText()).toEqual ('2 + 2 = 4');
});
我的理由是,如果页面中项目的顺序发生变化,则测试不会中断,因为它仍然可以找到具有所查找数据的元素。
最佳答案
您几乎明白了:
var mathsTopic = _.find(topics, { name: 'Maths' });
可以读为:在主题中找到名称属性等于“ Maths”的第一个主题。
关于angularjs - 如何在 Protractor 测试中使用lodash _.find?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28944437/