我想使用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/

10-12 14:03