angular - Angular,如何在服务变量上创建间谍对象
问题描述
我想测试使用服务的组件。我不想使用 npm 库或创建模拟文件。我想使用间谍对象。
假设服务如下所示:
@Injectable({
providedIn: root
}
export class MyService {
isReady: Subject<boolean>;
// etc more code
}
在我的 spec.ts 文件中:
// Includes
describe('myComponent', () => {
// Some boilerplate code
let mockMyService;
beforeEach(() => {
mockMyService = jasmine.createSpyObj('MyService', ['isReady']);
});
TestBed.configureTestingModule({
declarations: [
// Some declarations.
],
providers: [
{ provide: MyService, useValue: mockMyService}
}]);
beforeEach(() => {
mockMyService.isReady.and.returnValue(of({}));
});
如您所见,我想模拟服务的变量(主题)。但是我上面的代码不起作用。
怎么做?提前致谢。
解决方案
推荐阅读
- swift - 使用 SecKeyCreateWithData 创建 secKey 表单数据/十六进制/字节给 nil
- mysql - SQL Like vs. = 没有通配符的不同功能
- python - 如何使用本地设置在调试模式下使用 PyCharm 在 Django 中运行 python 单元测试?
- android - 制作 LiveData 以在同一视图中观察多个改造请求
- c# - UWP 将资源覆盖转换为样式
- python - 使用趋势线重新定向直方图和散点图
- configuration - Typo3 邮件服务器问题(邮件列表 hitobito CRM)
- mongodb - 如何在 mongos 上启用访问控制
- angular - ngModel 没有动态加载值
- python - 着色数据透视表熊猫数据框