使用纯JavaScript我想对这个基本功能进行单元测试:
NS.isType = function (type, obj) {
if (obj.constructor && obj.constructor.name) {
return obj.constructor.name === type;
}
return toString.call(obj) === '[object ' + type + ']';
};
我想开始对我的代码进行单元测试,我希望用JavaScript来完成框架。更重要的是,我希望了解单元测试的概念,而不是阅读整本书。后来我计划阅读这个新的O'Reilly book, (2013),它专注于使用框架进行单元测试。
如何使用JavaScript w / out库对上述方法进行单元测试?
答案 0 :(得分:1)
简而言之,单元测试是关于红绿红绿
首先,你要测试你期望你的功能会做什么。当你运行测试时它会失败,因为你还没有实现它(RED)
现在你在你的函数中实现它并再次运行测试,现在测试将通过(绿色)。
现在你再次改变你的测试,确保它再次失败(只是为了检查你的测试是否一直没有通过)(红色)
更改它以便它通过。
你将使用断言很多,这里有一个小例子:
function aPlusB(A,B){
return A+B;
}
//part of your test suite:
var tests=[];
function assertEqual(a,b,message){
tests.push({
pass:a===b,
message:message
});
}
assertEqual(aPlusB(1,2),3,"Make sure 1 plus 2 equals 3");
assertThrows(aPlusB("hello",7),"Passing a string as one of the parameters should throw an error");