it("is undefined", function() {
expect(total).toBe(undefined);
});
此规范失败:ReferenceError: total is not defined
如何测试尚未声明变量?
答案 0 :(得分:5)
jasmine中的测试与检查正常的未定义变量相同:
(typeof total === 'undefined')
您可以将此与茉莉花一起使用,如:
expect(typeof total).toBe('undefined');
typeof
operator返回一个字符串,如果尚未定义其操作数,则具有不抛出的特殊行为。
请注意,jasmine does have toBeDefined
matchers是您可以安全访问该对象时的首选项(通常如果它是成员并且您知道父项存在)。根据您的测试设置方式,如果您感兴趣的变量是this
或window
或其他范围的成员,您可以使用这些匹配器:
expect(this.total).toBeDefined();
如果你可以使用这些,你应该。