因此,就測試功能而言,我會開始編寫基本功能的測試(如Mark Robson說..你想先寫測試!!非常重要,因爲這就是爲什麼它是測試DRIVEN的含義測試是創建生產代碼背後的推動力)。這就是說..這可能是一個簡單的第一個測試,你可以寫minAbs的功能。
describe("getting the minimum absolute", function() {
it("will get the minimum absolute value", function() {
var numbersToSort = [-1, 2, -3, 4, 0.3, -0.001];
var result = minAbs(numbersToSort);
expect(result).toBe(-0.001);
});
});
現在,只要將結果添加到「output」元素並測試它適當地工作,那麼您就有很多選項。根據實際項目的複雜性,它可以是任何東西,從簡單地將元素粘貼到文檔然後驗證其內容,或者如果這是具有模板和頁面以及各種功能的反覆/更復雜的測試情況,您可能需要設置更復雜的測試框架......理想情況下,您希望儘可能地從ui/view邏輯(向dom添加數據)分離業務邏輯(如何獲得排序數字)。
但爲了簡單起見,我會直接告訴你如何添加一些DOM來滿足你試圖在你的例子做:
測試之前做到這一點開始:
var element = document.createElement('div');
element.setAttribute("id", "output");
document.getElementsByTagName('body')[0].appendChild(element);
然後在測試中,你會寫的期望......是這樣的:
expect(document.getElementById('#output').innerHTML).toBe("-0.001");
下面是關於如何你應該在福測試DOM操作一些更多的信息/討論TURE:
how to unit test DOM manipulation (with jasmine)
Javascript Unit Testing - DOM Manipulation
Unit testing Javascript that involves the DOM
感謝您的回覆......你可以爲它編寫短代碼 – user2565289