假设我有一堂课:
class MyRealClass {
get propOne() { return stuffFromTheServer; }
}
Run Code Online (Sandbox Code Playgroud)
测试时,我想实现这个功能:
const mockClass = {
get propOne() { return someStuff; }
}
jasmine.spyOnProperty(mockClass, 'propOne', 'get');
Run Code Online (Sandbox Code Playgroud)
通过做这样的事情......
const spy = jasmine.createSpyObj('mockClass', [
{methodName: 'propOne', accessType: 'get'}
]);
Run Code Online (Sandbox Code Playgroud)
换句话说,我想构建一个SpyObj<MyRealClass>usingjasmine.createSpyObj并将 getter 属性声明为methodName数组中的createSpyObj()方法(第二个参数是方法。
这可能吗?
我通过这段代码做到了令人惊讶的简单:
const routerMock = jasmine.createSpyObj(['events']);
routerMock.events = of(new NavigationEnd(0, 'url1', 'url2'));
const serviceToTest = new SomeService(routerMock);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3541 次 |
| 最近记录: |