在我的 NX 工作区中执行简单的单元测试时遇到问题。我正在尝试做的是 1)配置 TestBed 和 2)注入服务。但是,即使我使用脚手架虚拟服务,测试仍然失败,因为据说注入的服务是undefined
测试服务.ts
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class TestService {
constructor() { }
}
test.service.spec.ts
import { TestBed } from '@angular/core/testing';
import { TestService } from './test.service';
describe('TestService', () => {
let service: TestService;
beforeEach(() => {
TestBed.configureTestingModule({
providers: [ TestService ]
});
service = TestBed.inject(TestService);
});
it('should be created', () => {
expect(service).toBeTruthy();
});
});
有人知道为什么会这样吗?这里到底有什么问题?
编辑: 是的,我知道我可以创建一个模拟。但是,这个问题对我来说仍然很奇怪,所以我想深入了解它而不是找到解决方法。
编辑 2:直接
使用ng test <project> --test-file=<filename>
产生与使用 NXCLI 执行测试相同的结果
编辑 3:我按照要求在 StackBlitz 上分享了我的代码:https ://stackblitz.com/edit/ng-unittest-issue