如何在测试时解决ngrx商店抛出错误? [英] How to fix ngrx store throwing error while testing?

查看:111
本文介绍了如何在测试时解决ngrx商店抛出错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用ngrx/store来管理我的应用程序状态.

I'm using ngrx/store for managing the state of my app.

我正在使用笑话&玩笑大理石测试应用程序.但是在进行测试时,我无法正确运行测试套件.

I'm using jest & jest-marbles for testing the app. But while doing testing I'm not being able to run the test suite properly.

使用ngrx/store/testing运行测试时出现以下错误.

I'm getting the following error while running tests with ngrx/store/testing.

如何纠正此错误?

我已经检查了路径

'D:\my-app\node_modules\@ngrx\store\bundles\store-testing.umd.js'.

此文件已存在.但是测试仍然会吐出这个错误.

This file already exists. But still the test is spitting this error.

    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();
  });
});

推荐答案

我刚刚尝试了其他几个版本.&错误是我使用的最新版本.

I just tried out a couple of other versions. & the error was with the latest version which I've used.

问题已解决.

这篇关于如何在测试时解决ngrx商店抛出错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆