나는 3 가지의 매우 간단한 테스트가 있다고 생각합니다.구성 요소 테스트 {link-to}} 도우미가있는 Ember-CLIER
1) 구성 요소를 확인 속성은 (엠버-CLI가 자동으로
2) 'user.index'경로로 이동하는 클래스를 클릭은 (그것이 {{링크에}})
의)이 생성 렌더링3) 'brands.index'경로로 이동하는 클래스를 클릭은 (는 그러나, {{링크하는}} 나는 브라우저에서 클릭하면)
내가 경로에 액세스 할 확인할 수 있어요 테스트가 실패합니다. 'brands.index'테스트는 'brands-link'가 클릭되었음을 지정 함에도 불구하고 'users.index'를 계속 기대합니다.
도움이 될 것입니다.
import {
moduleForComponent,
test
} from 'ember-qunit';
moduleForComponent('navigation-bar', 'NavigationBarComponent', {
// specify the other units that are required for this test
// needs: ['component:foo', 'helper:bar']
});
test('it renders', function() {
expect(2);
// creates the component instance
var component = this.subject();
equal(component._state, 'preRender');
// appends the component to the page
this.append();
equal(component._state, 'inDOM');
});
test('it can navigate to users', function() {
expect(3);
var component = this.subject();
equal(component._state, 'preRender');
this.append();
equal(component._state, 'inDOM');
click('.users-link');
andThen(function() {
equal(currentRouteName(), 'users.index');
});
});
test('it can navigate to brands', function() {
expect(3);
var component = this.subject();
equal(component._state, 'preRender');
this.append();
equal(component._state, 'inDOM');
click('.brands-link');
andThen(function() {
equal(currentRouteName(), 'brands.index');
});
});
그리고 구성 요소 템플릿은 다음과 같습니다 : 다음과 같이
테스트
은<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">
<!--<img alt="Brand" src="...">-->
</a>
</div>
<ul class="nav navbar-nav">
{{#link-to 'users' tagName='li' classNames='users-link'}}<a href="#">Users</a>{{/link-to}}
{{#link-to 'brands' tagName='li' classNames='brands-link'}}<a href="#">Brands</a>{{/link-to}}
</ul>
</div>
</nav>
는 질문에 답변하지 않지만 link-to를 사용하려면 'a'태그를 추가 할 필요가 없습니다. – kaungst