0

我有一个测试可以做something并且测试x是可见的 -

'WHEN something THEN x is visible': function () {
        var myClass= new MyClass(this.remote);
        return myClass
            doSomething()
            .findById('x')
            .isDisplayed()
            .then(function (isDisplayed) {
                assert.isTrue(isDisplayed, 'X should be visible')
            });
    }

我现在想断言它y是隐藏的,即WHEN something THEN x is visible AND y is hidden

这个实习生怎么写?我可以为此编写一个单独的测试,但加载应用程序非常昂贵,我想将尽可能多的断言组合到一个测试中,同时尽量保持测试的原子性。

4

1 回答 1

1

如果您从.then()处理程序返回另一个承诺,则承诺的解析将被链接,并且您的异步测试应该等待整个链被解析(制作下面的代码,只是为了给出一个想法):

.then(function (isDisplayed) {
    assert.isTrue(isDisplayed, 'X should be visible');

    return myClass
        .doSomeOtherThing()
        .findById('y')
        .isHidden()
        .then(function (isHidden) {
            assert.isTrue(isHiddem, 'Y should be hidden');
        });
});
于 2015-11-23T16:40:24.557 回答