【发布时间】:2021-07-15 19:38:10
【问题描述】:
在我的 DI 设置中,我有一个单例类,它有几个我想在测试时禁用的功能。
在其他一些框架/语言中,我会提供该对象的模拟,其函数的实现是空的。
我想做类似的事情
TestBed.configureTestModule({
imports: […],
providers: [
{ provide: MyClass, useValue: spyAllFunctions(MyClass).and.stub() }
]
})
我已经看过spyAllFunctions,但并没有让我完全了解(或者我在滥用它),现在我只是自己提供存根,但我想知道是否有比
{
provide: MyClass, deps: [MyClassDependency], useFactory: (dep) => ({
method1: () => { },
method2 () => { }
})
}
谢谢!
【问题讨论】:
-
我认为您正在寻找 createSpyObj 函数 (jasmine.github.io/2.5/introduction)
-
您介意为我提供一个关于如何实现我的意图的sn-p吗?我应该传入什么字符串作为第一个参数?是否所有的间谍都被
() => {}或类似的东西打断了?
标签: angular unit-testing mocking jasmine stubbing