1

この angular js チュートリアルのステップ 3 を実行しています。http://docs.angularjs.org/tutorial/step_03

pause()最後のタスクは、「エンド ツー エンド テスト内にステートメントを追加して再実行する」ことです。

追加することができpause()、テストは正常に一時停止しました。問題は、どのように再開するかです。

pause() ここのドキュメントは、コンソールで呼び出すresume()か、ランナー UI で再開リンクをクリックすることを示していますが、コンソールから再開を呼び出す方法がわかりません。また、ランナー UI で再開リンクを見つけることもできません。

どのように呼びresume()ますか?

4

1 に答える 1

2

私の推測では、ファイルpause()内の間違った場所に関数呼び出しを配置し​​ていtest\e2e\scenarios.jsます。pause()私はこれと同じことをしました-テストは一時停止せず、呼び出しをどこに置くかによって、最初または両方を終了するか、どちらも終了しません。

pause()そのようにあなたのbeforeEach(...)電話に電話を入れてください

beforeEach(function() {
    browser().navigateTo('app/index.html');

    pause();
});

it(...)次に、関数の閉じ括弧の直後に、チュートリアルで指定された新しいメソッドを追加しit('should filter the phone...)ます。

これで、e2e テスト ページは各it(...)セクションを実行する前に一時停止し、テストを実行する前に DOM の内容を変更できるようになります。たとえば、何も検索せずに「再開」をクリックすると、リストに 3 つの電話エントリがあるため、最初のテストはパスします。ただし、xyz を検索すると、リストに電話エントリがないため失敗します。

各サブテストの前にコールを配置するか、各サブテストの前にテストを一時停止するようにpause()コールすることもできます。各呼び出しの前にを配置することで、呼び出しによって変更された後、アサーションが行われる前に DOM を編集できるため、入力によってコンテンツがどのように変更されるか、およびそのコンテンツを自分で変更するとアサーション ( ) が失敗または成功する理由を確認できます。expect(repeater(...))input('...')pause()expect(...)input('...')expect(...)

于 2014-03-14T04:43:28.320 に答える