をtoBeUndefined、変数がundefined
であるかどうかをチェックでき.not.toBeDefined()
または.toBeUndefined()
マッチを使用して仮定しましたそれらのマッチ、それはしません。私はちょうどこれらの間違いを使用していますか、または何かがundefined
であるかどうか確認するための仕様を書くことはできませんか?ジャスミンは、私はジャスミンに新たなんだ
答えて
問題は、ジャスミンの呼び出しもを発生する前に
expect(obj).toBeUndefined();
がを失敗したということです。定義されていない変数を参照するのは間違いです(新しいブラウザや "厳密な"モードでは少なくとも)。
ではなく、この設定をお試しください:そのコードでit('should not be defined using .tobeUnefined()', function() {
var obj = {};
expect(obj.not_defined).toBeUndefined();
});
は、その値が空のオブジェクトである変数「OBJ」があります。 JavaScriptでは、オブジェクトの存在しないプロパティを参照するのは問題ありません。このような参照の結果はundefined
になるため、テストに合格します。
it('should not be defined using .tobeUnefined()', function() {
var no_value;
expect(no_value).toBeUndefined();
});
洞察に感謝します。 :) –
あなたは次のようにすることもできます: 'expect(typeof obj).toBe( 'undefined')' –
ありがとう、今私はこの動作を得ることができます:describe( "A girl"、function(){ it "、function(){ expect({}。arya).toBeUndefined(); }) }); – Seanonymous
obj is not defined
というエラーが表示されることに注意してください。
objがであるとは限りません。です。
未定義は、実際にはJavaScriptのデータ型です。
割り当てのない宣言された変数には、既定での値が定義されていません。が宣言されていなければなりません。
したがって、値がであるかどうかをテストするときは、と定義されています。obj === undefined
であるかどうかを判断しています。
あなたは
var obj;
を宣言した場合、obj
は未定義テストします。
obj
を宣言していない場合は、ジャスミンマッチャーがのデータ型と比較されるものは何もありません。です。
- 1. ジャスミンは、オブジェクトが特定のメソッドまたは私はジャスミンを使用していない
- 2. ジャスミン-jqueryのtoBeDisabledは
- 3. 一息-ジャスミンはsystemjs
- 4. ジャスミンCLASSPATH
- 5. Restangular extendModelジャスミン
- 6. ジャスミンJavaScript例外
- 7. ジャスミンのスパイが
- 8. 角度テストサービス(ジャスミン)
- 9. ジャスミンのスパイが
- 10. ジャスミン模擬ウィンドウオブジェクト
- 11. 角2とジャスミン
- 12. 私的方法ジャスミンによるユニットテスト
- 13. 不明なプロバイダ:$ provideProvider angularjsジャスミン
- 14. ジャスミン:なぜ未定義?not.toBeDefined?
- 15. どのようにあなたはジャスミンBDD
- 16. ジャスミンにはsinon.jsが必要ですか?
- 17. ジャスミン単体テスト - オブジェクト
- 18. ジャスミンでのAngularJSテスト
- 19. 学習ユニットテストとジャスミン
- 20. 角度ジャスミンSpyOn $リソースハンドルエラー
- 21. ジャスミンでのJavaScriptコードカバレッジ
- 22. カルマ+ Browserify +ジャスミン+イスタンブール+リアクションカバレッジ
- 23. は、LINQは、私は新たなんだ
- 24. 私はLINQに新たなんだ
- 25. ジャスミンのテストは、私はAngularJsを使用して、私はこのようなジャスミンと私のinitの要素をテストする必要があるオブジェクト
- 26. ジャスミンでconsole.error()を盗んでいる
- 27. ジャスミン、初期化できません
- 28. ジャスミンのmstestランナーは誰ですか?
- 29. ReactTestUtils.Simulate.clickテストのジャスミンspyOnが失敗した
- 30. ジャスミンの外部ライブラリを使ったユニットテスト
このエラーは、定義されていない変数にアクセスしているので、本質的にスローするecmasceiptエンジンによって決まります。ジャスミンのせいではないので、これは完全に期待されています。それが言語の振る舞いです。 – Reece