0

我正在尝试将版本 angular 8 更新为 12。在 Angular 8 中,我使用带有 [jest-preset-angular.] 1版本 7.0.0 的 jest 框架现在为了与 angular 12 兼容,我更新了 jest-preset-角度版本到 11.0.1。并更新 jest 配置设置。现在,大多数测试都失败了。

jest.config.js

module.exports = {
    jest: 'jest-preset-angular',
    rootDir: 'src',
    setupfilesAfterEnv: './setupJest.ts',
    testEnvironment: 'jsDom',
    globals: {
       'ts-jest': {
            tsconfig": "<rootDir>/tsconfig.spec.json",
            "stringifyContentPathRegex": "\\.html$",
       }
    },
    transformIgnorePatterns: ['node_modules/(?!.*\\.mjs$)'],
      transform: {
        '^.+\\.(ts|js|mjs|html|svg)$': 'jest-preset-angular',
    },
}

测试文件

beforeEach(waitForAsync(() => {
    Testbed.configureTestingModule({
        declration: [TestComponent],
        imports: [SharedComponent]
        providers: []
    }.compileComponents()
}

问题:

Unhandled promise rejection: failed to load app-header.component.html undefined
Unhandled promise rejection: failed to load app-header.component.scss undefined

但是项目中没有命名文件 app-header.component.html 或 app-header.component.scss。在 Sharedcomponent 中,我们使用了一个作为本地 npm 包制作的自定义库。并将它们全部导入 SharedComponent。

in HTML, using custom library like this.
<header app-header (menuclick)="click($event)"/>

sharedModule.ts 文件

import { AppHeaderModule } from '@customModule';
@NgModule({
    imports: [AppHeaderModule, ...],
    exports: [ AppHeaderModule, ...],
})
exports class sharedModule;

谁能告诉为什么会这样以及如何解决它?

4

0 回答 0