2017-05-10 3 views
0

私は分度器、キュウリ、チャイ/約束どおりに試しています。次のコード行は、私が期待している振る舞いを私に与えるものではありません。キュウリを持つ分度器、失敗した期待値は正しく報告されていますが、合格予定時間は延期されます

expect(settingsRolesPage.mainRoleDescription.getAttribute("ng-reflect-model")).eventually.equal(table.hashes()[0].description); 

私はCONSOLE.LOGことを期待した部分を送信する場合、私は有効な回答(「Bambola」)を取得します。

settingsRolesPage.mainRoleDescription.getAttribute("ng-reflect-model") 

'table.hashes()[0] .description'には 'Bambola'も含まれています。私がテストを実行すると、私は取得します。

function timed out after 5000 milliseconds 

は、私は手動でインクルードが期待するように、説明の値を更新失敗した場合(

追加]を(私はenv.jsエントリにタイムアウトを拡張しようとしている、それは単にタイムアウトを報告する時間がかかります) failme ')、私は有効なアサーションエラーであると思われるものを取得します。

AssertionError: expected 'Bambola' to equal 'Bambolafailme' 

なぜ、明らかに成功したアサーションは、通過するのではなく時間切れになりますか?私も試みた。

expect(settingsRolesPage.mainRoleDescription.getAttribute("ng-reflect-model")).eventually.equal(table.hashes()[0].description).then(console.log); 

また、「Bambola」も記録されています。

+0

する必要がありますあなたは約束を返す必要があります。 ' finally.equal(table.hashes()[0] .description); 'getResponse(" ng-reflect-model ")) – Troopers

答えて

0

コードに誤りがある可能性があります。あなたがexpectを実行すると、.toを追加するのを忘れていました。例については、protractor-cookbookを参照してください。これはCucumberJSとTypescriptの例ですが、.toという概念は同じでなければなりません。

第2に、キュウリのexpectについてはcallbackspromisesの間で選択できます。

あなたは(callbackdone呼び出された場合)あなたのexpect sがあるべきcallbacks使用する場合

expect(settingsRolesPage.mainRoleDescription.getAttribute("ng-reflect-model")) 
    .to.eventually.equal(table.hashes()[0].description).and.notify(done); 

あなたがpromissesを使用している場合は、あなたのexpect sが

return expect(settingsRolesPage.mainRoleDescription.getAttribute("ng-reflect-model")) 
    .to.eventually.equal(table.hashes()[0].description); 
関連する問題