私は一連のアルゴリズムをテストしています。それぞれは同じ目的を持っていますが、異なる結果があり、グラフでグラフで見ることができます。特定のテストの出力結果をQUnIT出力に追加する
私はアルゴリズムごとに単体テストを持っています。私はテストされているアルゴリズムのグラフを開く適切なQUnitテスト出力結果のリンクを持っていたいと思います。
問題は、これを行うための非ハック方法が見つからないということです。これまでの私の最高のアイデア:
まず、テスト書き込み:
module("Test algo 1");
test("test with inputs 1", ...);
test("test with inputs 2", ...);
はその後、別のコードを記述したコードに追加する必要がありますどのようなリンクを記録します。そして、
addAlgoLink("Test algo 1", "test with inputs 1", function()
{
// on click code for the link that displays the
// input/output data on a graph
})
addAlgoLink()
の実装を
- すべてのテストが完了したら、QUnitにコールバックを追加します。
- テストが完了したら、モジュール名とテスト名が一致するエントリのQUnit結果のDOMを調べ、に与えられたコールバックのリンクを追加します。それはDOMに使用される各テストのためにQUnitのハッシュIDを使用するように容易になるだろうが、私はテスト定義
問題の中から、テストのIDにアクセスする方法を見つけることができません。
-
をただ
- (QUnitはとにかくこれをサポートしている場合、私は知りませんが)それはテスト(ネストされたモジュール)の異なる深さに対処するために複雑なコードが必要になります
- 同じ名前のモジュールで複数のテストを処理することができません
- それは、本当にハッキーですね。
おそらく、QUnitをよりエレガントな方法で拡張できますか?例えば。テストコード内でメソッドを呼び出してオンクリックコールバックを指定することができます。クリックコールバックはリンクとして挿入され、テストおよびモジュール名を再度指定する必要はありません。次に、QUnit結果出力を拡張してリンクを表示します。おそらく、それはQUnitのTest
オブジェクト内に格納されている可能性がありますが、そうする必要があるメソッドのほとんどまたはすべてがプライベートなので、これは不可能なようです(良い考えではないでしょう)。
私は最初に本当に悪い考えをしていますか?それとも、解決策が厄介でなければならないのでしょうか?