因此,就测试功能而言,我会开始编写基本功能的测试(如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