我是一位試圖學習測試驅動開發的前端開發人員。我使用jQuery/jasmine構建了一個簡單的js計算器。如何編寫簡單的計算器應用程序測試用例js
從我學到的東西開始寫我的測試用例(茉莉花)。
describe("calculator", function() {
it("add correctly", function() {
expect(add(2,3)).toEqual(5);
});
it("subtract correctly", function() {
expect(sub(2,3)).toEqual(-1);
});
describe("divide", function(){
it("divided correctly", function(){
expect (divide(2,3)).toEqual(0.6666666666666666);
});
it("divided by 0 gives infite", function(){
expect (divide(2,0)).toEqual(Infinity);
});
});
describe("toggle sign", function(){
it("toggle to - sign", function() {
expect (toggleSign(2)).toEqual(-2);
});
it("toggle to + sign", function() {
expect (toggleSign(-2)).toEqual(2);
});
});
});
然後用最少的代碼傳遞它們
(功能(窗口,文件,未定義){ 「使用嚴格」;
window.add =函數(A,B){返回A + b;};
window.sub =函數(A,b){返回AB;};
window.divide =函數(A,b){返回(A/b);};
window.toggleSign = function(a){return -a; };
}(window,document));
我所有的快樂與滿足,直到我真正開始建設應用
這裏是什麼樣子 http://niteshsharma.com/jscalc/
最明智的辦法,我能想出,寫一個計算器,是建立完整的操作簡單的字符串和eval它執行
window.press = function(a){
$("#display").html(function(i, oldHtml){
return oldHtml+a;
});
};
window.execute= function(){
try{
$("#display").html(new Function("return " + $("#display").html())());
}
catch(err){
alert("error");
}
};
我怎麼能寫一個測試用例這樣的代碼? 如果有人能向我解釋做TDD的正確過程(以我的計算器爲例),我將非常感激。