【发布时间】:2020-05-21 13:52:31
【问题描述】:
我正在使用 ngrx/store 来管理我的应用程序的状态。
我正在使用 jest & jest-marbles 来测试应用程序。 但是在进行测试时,我无法正确运行测试套件。
我在使用 ngrx/store/testing 运行测试时遇到以下错误。
我该如何纠正这个错误?
我已经检查了路径
'D:\my-app\node_modules\@ngrx\store\bundles\store-testing.umd.js'.
此文件已存在。但是测试仍然在吐出这个错误。
Could not find source file: 'D:\my-app\node_modules\@ngrx\store\bundles\store-testing.umd.js'.
at getValidSourceFile (node_modules/typescript/lib/typescript.js:135637:29)
at Object.getSyntacticDiagnostics (node_modules/typescript/lib/typescript.js:135851:52)
at Object.diagnoseFn [as diagnose] (node_modules/ts-jest/dist/compiler/language-service.js:87:37)
at TsJestTransformer.getCacheKey (node_modules/ts-jest/dist/ts-jest-transformer.js:122:32)
at ScriptTransformer._getCacheKey (node_modules/@jest/transform/build/ScriptTransformer.js:259:23)
at ScriptTransformer._getFileCachePath (node_modules/@jest/transform/build/ScriptTransformer.js:285:27)
at ScriptTransformer.transformSource (node_modules/@jest/transform/build/ScriptTransformer.js:413:32)
at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:525:40)
at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:563:25)
我该如何解决这个问题?
以下是我的测试设置:
describe('ItemRowComponent', () =>
{
let component: ItemRowComponent;
let fixture: ComponentFixture<ItemRowComponent>;
const initialState = INITIAL_STATE;
// INITIAL STATE is getting imported from the reducer file.
let store: MockStore<ActionsControlsState>;
beforeEach(async(() =>
{
TestBed.configureTestingModule({
declarations: [ItemRowComponent],
providers: [
provideMockStore({ initialState }),
],
}).compileComponents();
}));
beforeEach(() =>
{
fixture = TestBed.createComponent(ItemRowComponent);
component = fixture.componentInstance;
store = TestBed.inject(MockStore);
fixture.detectChanges();
});
it('should create', () =>
{
expect(component).toBeTruthy();
});
});
【问题讨论】:
-
可能会添加
ItemRowComponent的源代码 -
是的。谢谢你。我已经解决了。
-
您可以添加答案或关闭问题吗?