0

grailsで実行されている角度のあるアプリをe2eでテストする方法について混乱しています。Grails は私のアプリを実行し、エンドポイントを提供していますが、Karma スイートは JavaScript を実行するためのエンジンとしてブラウザーのみを使用します。したがって、テストの実行時にエンドポイントは「カルマの世界」にありません。どうすれば次のようなことができますか?

describe('e2e', function() {

    beforeEach(function() {
        browser().navigateTo('/alerts/');
    });
}

/alertsエンドポイントが定義され、grails を介してルーティングされる場所。これを行うことはできますか、またはある種の grails-karma プラグインをセットアップする必要がありますか?

4

1 に答える 1

0

はい、できます。テスト スイートは、(任意の) サーバーによって提供される必要があります。とにかくサーバーをセットアップする必要があるため、カルマはここではあまり役に立ちません。

簡単な方法: テスト スイートが Web アプリの一部である場合、サーバーは grails であり、grails サーバーが起動すると、URL を使用してテスト スイートにアクセスできます。トリッキーなことは、brower().navigateTo() の正しい URL を取得することです。生のエンドポイントが正しいものである可能性があります。次に、本番環境に配信する前に、Web アプリからのテスト スイートの削除を自動化します。

別の方法: 別のサーバーがテスト スイートを提供し、Grails サーバーとテスト サーバーがあるため、要求をリダイレクトする必要があります。物事を分離したままにしますが、それをテストするには本番コードを変更する必要があり、これも完璧ではありません。

于 2014-01-20T13:20:44.267 に答える