I am trying to run my tests and I get this error while testing nx(mono-repo) angular test using Jest
Can't resolve all parameters for ApplicationModule: (?).
at syntaxError (../packages/compiler/src/util.ts:100:17)
at CompileMetadataResolver._getDependenciesMetadata ......
login-form.componenet.spec.ts
import { LoginFormComponent } from './login-form.component';
import { ComponentFixture, async, TestBed } from '@angular/core/testing';
import { FormBuilder, ReactiveFormsModule, FormsModule } from '@angular/forms';
import { CommonModule } from '@angular/common';
import {
BrowserDynamicTestingModule,
platformBrowserDynamicTesting
} from '@angular/platform-browser-dynamic/testing';
describe('Testing LoginForm', () => {
let component: LoginFormComponent;
let fixture: ComponentFixture<LoginFormComponent>;
// create new instance of FormBuilder
const formBuilder: FormBuilder = new FormBuilder();
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [LoginFormComponent],
imports: [FormsModule, ReactiveFormsModule, CommonModule],
providers: [{ provide: FormBuilder, useValue: formBuilder }]
});
fixture = TestBed.createComponent(LoginFormComponent);
component = fixture.componentInstance;
});
test('should be created', () => {
expect(component).toBeTruthy();
});
});
test.setup.ts
import 'jest-preset-angular';
jest.config.ts
module.exports = {
testMatch: ['**/+(*.)+(spec|test).+(ts|js)?(x)'],
transform: {
'^.+\\.(ts|js|html)$': 'ts-jest'
},
resolver: '@nrwl/jest/plugins/resolver',
moduleFileExtensions: ['ts', 'js', 'html'],
coverageReporters: ['html'],
moduleNameMapper: {
'@neural/(.*)': '<rootDir>/libs/$1/src/index.ts',
}
};
Versions
Angular: 8.2.14
jest: 26.0.1
nrwl: 8.8.2
jest-preset-angular: 7.1.1
constructor parameters of Login-form Login-form.component.ts
constructor(private fb: FormBuilder) {
this.loginForm = this.fb.group({
email: ['', Validators.compose([Validators.required, Validators.email])],
password: ['', Validators.compose([Validators.required])]
});
}
Let me know if you need more information to figure out where is the problem.