У меня есть компонент Angular (9.1.3), на котором есть относительный маршрут UI-Router:
<button class="ls-btn light-blue-btn new-btn" uiSref=".new">
<span class="fa fa-plus"></span>
<span class="new-btn-text">New Tournament</span>
</button>
<ui-view></ui-view>
Когда я запускаю приложение, все работает так, как я ожидал , но когда запускается модульный тест для компонента, я получаю сообщение об ошибке:
No reference point given for path '.new'
Код для модульного теста примерно такой же basi c, как он получает:
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { TournamentsViewComponent } from './tournaments-view.component';
import { UIRouterModule } from '@uirouter/angular';
import { APP_BASE_HREF } from '@angular/common';
describe('TournamentsViewComponent', () => {
let component: TournamentsViewComponent;
let fixture: ComponentFixture<TournamentsViewComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [ UIRouterModule.forRoot() ],
declarations: [ TournamentsViewComponent ],
providers: [{ provide: APP_BASE_HREF, useValue: '/' }]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(TournamentsViewComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
Я пробовал добавить несколько состояний к UIRouterModule.forRoot()
, но это дает ту же ошибку - я также пробовал использовать /base
для APP_BASE_HREF
.
Я был по UI-Router docs на uiSref, где упоминается
Если в шаблоне компонента используется относительный uiSref, например, uiSref = ". child", ссылка относится к состояние этого компонента.
Добавление состояний не сработало, варианты основы не работают; может кто-нибудь помочь мне найти то, что мне не хватает?