1
最近我一直在玩茉莉花,以便開始在我的項目中加入測試。 所有似乎工作正常,直到我想與業力自動化工作流(以前Karma)。如何使用karma(testacular)運行基本測試
在我的src目錄中,我有簡單的計算器對象,有幾個簡單的方法: function Calculator(){};
var current = 0;
Calculator.prototype.add = function() {
if (arguments.length < 2) {
// we only have one arguments
current += arguments[0];
return current;
} else {
// more than one arguments
for(var i in arguments)
current += arguments[i];
return current;
}
};
Calculator.prototype.substract = function() {
var currentValue = arguments[0];
for (var i = 1; i < arguments.length; i++)
currentValue -= arguments[i];
return currentValue;
};
Calculator.prototype.reset = function() {
window.current = 0;
}
然後在我的spec文件,我有以下的(所有測試不通過噶):
VAR計算器=新的計算器();
describe('Calculator', function() {
beforeEach(function() {
window.current = 0;
});
describe('When adding numbers', function() {
it('should store the current value at all times', function() {
expect(window.current).toBeDefined();
});
it('should add numbers', function() {
expect(window.calculator.add(5)).toEqual(5);
expect(window.calculator.add(10)).toEqual(15);
});
it('should add any number of numbers', function() {
expect(calculator.add(1, 2, 3)).toEqual(6);
expect(calculator.add(1, 2)).toEqual(9);
})
});
describe('When substracting numbers', function() {
it('should substract any number of numbers', function() {
expect(calculator.substract(5, 3)).toEqual(2);
});
});
it('should reset the current value back to zero', function() {
window.current = 20;
calculator.reset();
expect(window.current).toEqual(0);
calculator.add(5);
calculator.add(20);
expect(window.current).toEqual(25);
calculator.reset();
expect(window.current).toEqual(0);
});
});
當我運行因果報應的開始,我得到如下: 鉻28.0(蘋果機)ERROR 未捕獲的ReferenceError:計算器是不是在/Users/roland/learning/jasmine/jasmine-standalone-1.3定義 。 1/spec/calculator_spec.js:1
謝謝你的幫助!
是的,就是這樣!我只是看着規格文件夾!謝謝! –