Javascript 为什么《茉莉花》中没有定义“假”?
我正在使用连接到来连接它们 我得到了以下测试用例:Javascript 为什么《茉莉花》中没有定义“假”?,javascript,js-test-driver,Javascript,Js Test Driver,我正在使用连接到来连接它们 我得到了以下测试用例: describe("Undefined false", function(){ beforeEach(function(){ var undefFalse = false; }); it("should return a defined value", function(){ expect(this.undefFalse).toBeDefined(); }); it("
describe("Undefined false", function(){
beforeEach(function(){
var undefFalse = false;
});
it("should return a defined value", function(){
expect(this.undefFalse).toBeDefined();
});
it("should return false", function(){
expect(this.undefFalse).toBeFalsy();
});
});
第二个测试如预期成功,第一个测试失败,出现以下错误:
未定义的false test。测试它是否应返回定义的值失败
(0,00毫秒):资产错误:预期
未定义待定义
为什么
false
应该是undefined
?我对茉莉花了解不多,但这是:
var undefFalse = false; // local variable
this.undefFalse; // property of an object(?)
这显然行不通
确保清除断言中的
this.
,或在正确的对象上设置undefFalse
。如果在第二次断言中没有this
,第二次测试toBeFalsy
将失败。然而,在阅读了您的答案后,我将声明更改为this.undefFalse=false
,两个测试都成功了。我担心我可能会误用这个
…我不认为您误用了这个
,这里,这个
指的是本例中的测试用例,所以应该没有任何问题:)