2

ANSWER : SO 外部の誰かからのアドバイス: html をビュー ファイルに入れ、それを本番環境と testRunner ページの両方に挿入します。問題が解決しました。

以下の太字の質問

ユーザーがクリックしたときに、要素を 50px 左に移動するメソッドがあるとします。

これを担当する機能は

function moveElemLeft($elem, iPxLeft){}

私のテストスクリプトには、基本的に次のものがあります。

test("test moves function left via css", 1, function(){
    //get first elem in test fixture.
    var $testFixture = $('#qunit-fixture').children().eq(0);
    var beforeLeft = $testFixture.css('left');
    moveElemLeft($testFixture, 50);
    var afterLeft = $testFixture.css('left');
    equal(beforeLeft-50, afterLeft);
});

私のtestRunner HTMLでは、次のようなものがあります

 <head><script href="test.js" /></head>
    <body>
    <div id="qunit-fixture">
    <div id="testChild" class="absolute no-margins">
    </div></div>
    </body>

----- 質問 ---- テスト フィクスチャで記述した html は明らかに些細なものであるため、関数がテスト中に正しく実行されても、本番環境では正しく実行されない可能性は高くありませんか? テスト ランナーの html ファイルと同じ html を本番環境で使用した方がよいのではないでしょうか?

しかし、それを行うには、テストのセットアップで、本番用の html ファイルからテスト ランナー ファイルに html をコピーする必要があります。それは可能ですか?ここでのベストプラクティスは何ですか?

4

1 に答える 1

0

テスト ランナーの html ファイルと同じ html を本番環境で使用した方がよいのではないでしょうか?

単体テストに加えてそれをテストすると便利です。

ただし、期待される入力で実行したときに関数が期待どおりに動作することを示す小さな自己完結型のテストを、そのようなテストに置き換えることはしません。

しかし、それを行うには、テストのセットアップで、本番用の html ファイルからテスト ランナー ファイルに html をコピーする必要があります。それは可能ですか?ここでのベストプラクティスは何ですか?

実稼働 HTML でテストを実行します (または、専用のテスト サーバーに別の HTML をインストールして)。Selenium のようなものを使用して、ページ自体にテスト コードを挿入せずに、ブラウザー (またはブラウザーのコレクション) でページ全体をテストします。

于 2012-12-26T20:33:42.950 に答える