2017-05-18 24 views
0

Javascript Unitのテストから基本的な例(第1章)を設定しました。ジャスミンが仕様を見つけられないのはなぜですか?

enter image description here

マイランナーファイル:私は同じ方法であると思われるものではなく、私自身のスペックでは、第2章のための新しいディレクトリを設定するとき、私は何のスペックが実行されていないのですかなぜ、enter image description here

持っている:私のspecファイルは

spec/SimpleMathSpec.js 
<script type="text/javascript" src="src/SimpleMath.js"></script> 
<script type="text/javascript" src="spec/SimpleMathSpec.js"></script> 

あると私のソースファイルが

彼らの両方が存在しない
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 

ネットワークタブは、それらがOKを発見され示して - しかしわからない理由をゼロサイズ??? enter image description here

私もファイルがロードされたことがわかります。 enter image description here

内容:

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; 
} 
+0

0 Bのサイズは、ファイルがローカルにロードされている(つまり、 'file://')ため、ネットワークのアクティビティがないためです。テストファイルのtypoと思われるものがあります: 'expect(result).toThrow Error;は' expect(result).toThrowError(); 'でなければなりません。コンソールにエラーがありますか? –

+0

はい、それでした。 –

答えて

0

それは構文エラーだった:

expect(result).toThrow Error; 

する必要があります

構文エラーは、Web検査ツールコンソールに表示され、仕様が実行されないようにします。

関連する問題