我正在使用document.hidden
,我需要在单元测试中将其模拟为true
或false
。
所以我做到了:
documentMock = jasmine.createSpyObj('document', ['hidden']);
module(function ($provide) {
$provide.value('document', documentMock);
});
但hidden
总是返回false。
答案 0 :(得分:1)
$provide
用于向Angular的注入器注册内容。除非您的测试代码注入了一个名为document
的东西(这不好,因为这会与全局文档对象冲突),否则您应该执行$provide.value('$document', documentMock)
。 $document
is an Angular injectable以及全局文档对象的包装器,因此测试中的代码也应该引用$document
。