私の分度器テストで、私のアプリケーションでエラーが発生したときに表示される警告をテストしたいと思います。分断器のテスト - dismiss-on-timeout属性を持つui-bootstrap-alert
<uib-alert type="danger" dismiss-on-timeout="5000" close="closeAlert()">
<span>Error Message</span>
</uib-alert>
テストコードは次のようになります:
...
element(by.css('.alert-danger')).getText().then(function(text) {
expect(text).to.equal('Error Message')
})
...
分度器を完了するために、5000ミリ秒のタイムアウトを待ち、テストがエラーメッセージで失敗します。
NoSuchElementError: No element found using locator: By(css selector, .alert-danger)
HTMLは次のようです
dismiss-on-timeout
属性を削除すると、テストに合格します。私は
browser.ignoreSynchronization = true
を設定した場合、分度器はタイムアウトを待ちませんが、テストは同じメッセージで失敗します。
私は(分度器が$interval
を待たないので、そのソリューションが動作します)というよりも、$timeout
を$interval
を使用するようにUibAlertController
を変更することによってこの問題を解決することができ、よりよい解決策はありますか? - 私はフォークする必要はありませんangular-ui-bootstrap
?