如何在Jasmine中测试未声明的变量?

时间:2015-04-13 18:55:24

标签: javascript jasmine

it("is undefined", function() {
    expect(total).toBe(undefined);
});

此规范失败:ReferenceError: total is not defined

如何测试尚未声明变量?

1 个答案:

答案 0 :(得分:5)

jasmine中的测试与检查正常的未定义变量相同:

(typeof total === 'undefined')

您可以将此与茉莉花一起使用,如:

expect(typeof total).toBe('undefined');

typeof operator返回一个字符串,如果尚未定义其操作数,则具有不抛出的特殊行为。

请注意,jasmine does have toBeDefined matchers是您可以安全访问该对象时的首选项(通常如果它是成员并且您知道父项存在)。根据您的测试设置方式,如果您感兴趣的变量是thiswindow或其他范围的成员,您可以使用这些匹配器:

expect(this.total).toBeDefined();

如果你可以使用这些,你应该。