如何断言回调的值最终会发生变化?

时间:2015-02-05 12:17:49

标签: javascript mocha protractor chai chai-as-promised

我目前正在尝试编写一个测试,断言在点击元素后,另一个元素的值最终会发生变化。我尝试了以下方法:

it 'should change the value of the ec when the Scheduled option is clicked', ->
    element(By.css("li[title='Scheduled']")).click()
    expect(stateEc.getText()).to.eventually.equal("Scheduled")

上述测试失败,因为stateEc元素的文本是"正在进行"在期望的时候。然后我添加了以下内容

 it 'should change the value of the ec when the Scheduled option is clicked', ->
    element(By.css("li[title='Scheduled']")).click()
    browser.wait( () ->
      return stateEc.getText().then (text) ->
        text is "Scheduled"
      , 2000)

    expect(stateEc.getText()).to.eventually.equal("Scheduled")

现在每次都经过测试 - 问题在于我讨厌这个解决方案并且老实地认为chai-as-promise的目的是我可以创建在某个时间限制内必须变为真实的断言。我做错了什么?

0 个答案:

没有答案