用Jasmine模拟“文档”

时间:2014-11-26 13:50:56

标签: angularjs unit-testing jasmine document

我正在使用document.hidden,我需要在单元测试中将其模拟为truefalse。 所以我做到了:

documentMock = jasmine.createSpyObj('document', ['hidden']);

module(function ($provide) {
    $provide.value('document', documentMock);
});

hidden总是返回false。

1 个答案:

答案 0 :(得分:1)

$provide用于向Angular的注入器注册内容。除非您的测试代码注入了一个名为document的东西(这不好,因为这会与全局文档对象冲突),否则您应该执行$provide.value('$document', documentMock)$document is an Angular injectable以及全局文档对象的包装器,因此测试中的代码也应该引用$document

相关问题