我正在測試一組算法。每個人都有相同的目的,但有不同的結果,可以在圖表中以圖形方式查看。添加附加html到特定測試的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,查找具有匹配的模塊名稱和測試名稱的條目,然後附加一個鏈接,其中給出的回調爲
addAlgoLink()
。這將是更容易使用QUnit的哈希ID爲每個測試,因爲它是在DOM中使用,但我找不到從測試定義中訪問測試的ID
問題的方法:
- 無法與同名的模塊中處理多個測試(雖然我不知道是否QUnit支持此反正)
- 這將需要複雜的代碼來處理的測試不同深度(嵌套模塊)
- 它只是看起來真的很黑。
也許QUnit可以以更優雅的方式擴展?例如。在測試代碼中,可以調用一個方法來指定單擊回調,該回調將作爲鏈接插入,以便不需要再次指定測試和模塊名稱。然後擴展QUnit結果輸出器以顯示鏈接。也許它可以存儲在QUnit的Test
對象中,但我認爲大多數或所有的方法都需要這樣做,因爲這是不可能的(這不是一個好主意)。
我想要做的只是一個非常糟糕的主意呢?或者僅僅是解決方案必須是混亂的?