实习生功能测试中的多个 THEN 语句

Multiple THEN statements in intern functional test

我有一个测试 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

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

如果你 return 来自你的 .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');
        });
});