#angular #testing #jestjs #angular10
#angular #тестирование #jestjs #angular10
Вопрос:
После того, как я обновил Angular с 9 по 10, все мои шутливые тесты не работают. Они отлично работали до обновления. Как мне это исправить?
Вот один из моих тестов:
@Component({
selector: 'prof-notifications-form',
template: '',
})
describe('NotificationsFormComponent', () => {
let component: NotificationsFormComponent;
let fixture: ComponentFixture<NotificationsFormComponent>;
beforeEach(
waitForAsync(() => {
TestBed.configureTestingModule({
imports: [ReactiveFormsModule, MatDialogModule, UiButtonModule],
declarations: [NotificationsFormComponent ],
}).compileComponents();
})
);
beforeEach(() => {
fixture = TestBed.createComponent(NotificationsFormComponent);
component = fixture.componentInstance;
component.urlResolver = jest.fn(url => `http://someSampleUrl.test/${url}`);
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
Вот ошибка:
Unexpected value 'CommonModule' imported by the module 'UiButtonModule'. Please add an @NgModule annotation.
Комментарии:
1. Можете ли вы показать UiButtonModule? Если это модуль, он должен находиться в импорте, а не в объявлениях. Angular 10 выполняет больше проверок типов, чем раньше.
2. Спасибо, Боян, но это просто выдает мне еще одну ошибку, Iv’e обновил код и сообщение об ошибке соответствующим образом. Да, UiButtonModule — это модуль
3. Ну, вы исправили свою первоначальную ошибку. Я думаю, что у вас может быть ошибка в UiButtonModule, можете ли вы это показать? Убедитесь, что CommonModule находится в импорте
Ответ №1:
Я решил это 🙂 Просто нужно было обновить node с 12 до 14, чтобы заставить его работать!