0
我從Javascript單元測試中設置了基本示例(Chapter1),它可以工作,例如, 爲什麼茉莉花沒有找到我的規格?
爲什麼,當我什麼似乎是同樣的方式建立一個新的目錄,第2章,但我自己的規格做我沒有得到任何規格正在運行:
我的亞軍文件有:
<script type="text/javascript" src="src/SimpleMath.js"></script>
<script type="text/javascript" src="spec/SimpleMathSpec.js"></script>
我的規格文件
spec/SimpleMathSpec.js
和我的源文件是
src/SimpleMath.js
他們都確實存在:
$ ls src/SimpleMath.js
src/SimpleMath.js
10:56:21 durrantm U2017 /home/durrantm/Dropbox/_/jasmine_2017/Chapter2
$ ls spec/SimpleMathSpec.js
spec/SimpleMathSpec.js
Network標籤顯示他們被人發現OK - 雖然不知道爲什麼零大小???
內容:
spec/SimpleMathSpec.js:
describe("SimpleMath", function() {
var simpleMath;
beforeEach(function() {
simpleMath = new SimpleMath();
});
it("should calculate a factorial for a positive number", function() {
result=simpleMath.getFactorial(3);
expect(result).toEqual(6);
});
it("should calculate a factorial for 0 - which will be zero", function() {
result=simpleMath.getFactorial(0);
expect(result).toEqual(0);
});
it("should calculate a factorial for -3 - which will raise an error", function() {
result=simpleMath.getFactorial(-3);
expect(result).toThrow Error;
});
});
src/SimpleMath.js:
SimpleMath = function() {};
SimpleMath.prototype.getFactorial = function(number) {
if (number < 0) {
throw new Error("Can't be less than zero");
}
else if (number == 1 || number == 0) {
return 1;
}
else {
return number * this.getFactorial(number-1);
}
}
SimpleMath.prototype.signum = function(number) {
if (number > 0) {
return 1;
} else if (number == 0) {
return 0;
} else {
return -1;
}
}
SimpleMath.prototype.average = function(number1, number2) {
return (number1 + number2)/2;
}
我猜0B尺寸是因爲文件正在本地加載(即'file://'),所以沒有網絡活動。我認爲你的測試文件中有一個錯字:'expect(result).toThrow Error;'應該是'expect(result).toThrowError();'。控制檯中是否有錯誤? –
是的,就是這樣。 –