当在Angular单元测试中遇到NullInjector错误且没有使用存根时,可能是因为测试环境没有正确设置。
以下是解决这个问题的一些可能步骤和代码示例:
import { TestBed } from '@angular/core/testing';
import { MyService } from './my.service';
beforeEach(() => {
TestBed.configureTestingModule({
providers: [MyService]
});
});
import { HttpClientModule } from '@angular/common/http';
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientModule],
providers: [MyService]
});
});
it('should use the my service', () => {
const myService = TestBed.get(MyService);
// 使用myService进行测试
});
确保以上步骤正确设置后,再次运行单元测试,应该不再出现NullInjector错误。
如果问题仍然存在,可能需要进一步检查是否有其他配置错误或依赖关系问题。