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
,两个测试都成功了。我担心我可能会误用
这个
…我不认为您误用了
这个
,这里,
这个
指的是本例中的测试用例,所以应该没有任何问题:)