【发布时间】:2021-03-04 18:10:43
【问题描述】:
我一直在努力让它工作,只依赖于 httpclient 的服务测试工作正常。然而,当我尝试测试具有这样一些依赖项的组件时(我什至不需要测试本身来显示错误):
describe('test suite name', () => {
let component: ExampleComponent;
let fixture: ComponentFixture<ExampleComponent>;
let testBed;
let dependencyMock = jasmine.createSpyObj('Dependency', ['action']);
beforeEach(async () => {
testBed = await TestBed.configureTestingModule({
declarations: [ExampleComponent],
providers: [
{ provide: Dependency, useValue: dependencyMock }
],
imports: [
// FormsModule,
// MatDialogModule,
// BrowserModule,
// BrowserAnimationsModule,
],
}).compileComponents();
});
});
大量错误显示在控制台中,几乎所有错误都属于这种类型:
app/someRandomLocation/RandomFile.component.ts:7:30 - error TS2307: Cannot find module 'src/app/someOtherRandomLocation/AnotherRandomFile.ts'.
7 import { AnotherRandomFile } from 'src/app/someOtherRandomLocation/AnotherRandomFile';
我尝试将 AppModule 放入导入中以检查它是否解决了问题,它只是给了我更多错误。
这是一个项目,其中有多个 *Module 文件以将它们分开一点。
有人知道我做错了什么吗?
编辑:
令人惊讶的是,在更改示例中的路径后从这里导入:
import { AnotherRandomFile } from 'src/app/someOtherRandomLocation/AnotherRandomFile';
到这里:
import { AnotherRandomFile } from '../app/someOtherRandomLocation/AnotherRandomFile';
所述错误确实消失了,尽管这些不是该项目可接受的解决方案。我的其他项目没有同样的问题,有人知道不需要更改所有导入的解决方案吗?
【问题讨论】:
标签: angular unit-testing testing jasmine karma-jasmine