Я пытаюсь проверить свой ионный компонент c 3 с жасмином и кармой. Мой тест выглядит следующим образом, но проблема в том, что я не использую связанный с формой компонент или библиотеку, он настаивает на том, чтобы я не предоставлял форму внутри моего модуля тестирования. Я попытался отключить все остальные тесты, которые работают, как ожидалось, ничего не изменилось. Все мои исследования привели к одной цели: вам нужно импортировать этот модуль. Несмотря на то, что я не использую их, я также пытался импортировать FormsModule, ReactiveFormsModule тоже ничего не изменил. Заранее спасибо
describe('Cart Item Component', () => {
let component: CartItemComponent;
let element: HTMLElement;
let fixture: ComponentFixture<CartItemComponent>;
const storeMock = {
select() {
return of({ name: 'Peter', registrationDate: '11/11/18' });
}
};
beforeEach(async(() => {
TestBed.configureTestingModule({
// * here we configure our testing module with all the declarations,
// * imports, and providers necessary to this component
imports: [IonicModule, PipesModule],
providers: [
{
provide: Store,
useValue: storeMock
}
],
declarations: [CartItemComponent],
}).compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(CartItemComponent);
component = fixture.componentInstance; // The component instantiation
element = fixture.nativeElement;
})
it('Cart item component test', () => {
expect(component).toBeTruthy();
});
});
Вот сообщение об ошибке
Error: StaticInjectorError(DynamicTestModule)[Item -> Form]:
StaticInjectorError(Platform: core)[Item -> Form]:
NullInjectorError: No provider for Form!
Также здесь представлены версии моих пакетов
"ionic-angular": "^3.9.6",
"@ionic/app-scripts": "3.2.3",
"@types/jasmine": "^2.2.29",
"angular2-template-loader": "^0.6.2",
"file-loader": "^5.0.2",
"html-loader": "^0.5.1",
"image-webpack-loader": "^6.0.0",
"ionic": "4.12.0",
"istanbul-instrumenter-loader": "^3.0.0",
"jasmine": "^2.5.3",
"jasmine-spec-reporter": "^4.1.0",
"karma": "^1.5.0",
"karma-chrome-launcher": "^2.0.0",
"karma-coverage-istanbul-reporter": "^1.3.0",
"karma-jasmine": "^1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"karma-sourcemap-loader": "^0.3.7",
"karma-webpack": "^2.0.3",
"null-loader": "^0.1.1",
"protractor": "^5.1.1",
"ts-loader": "^3.0.3",
"ts-node": "^8.5.4",
"typescript": "~2.6.2"
Редактировать: Это модуль, который я объявляю свой CartItemComponent.
import { CommonModule } from '@angular/common';
import { IonicModule } from 'ionic-angular';
import { CartItemComponent } from './cart-item/cart-item';
import { PipesModule } from '../pipes/pipes.module';
@NgModule({
declarations: [CartItemComponent],
imports: [CommonModule, IonicModule, PipesModule],
exports: [CartItemComponent],
providers: []
})
export class CartComponentsModule { }