2
일부 메소드 내에서 삽입하는 디버깅을 볼 수 있도록 구성 요소 테스트를 한 페이지에서 렌더링하려고합니다.Ember 통합 테스트 중에 렌더링 된 HTML 및 코드 디버그
내 테스트에서 데이터를 올바르게로드하지 못하는 것 같아서 무엇이로드되는지보고 싶습니다.
불행하게도, QUnit 단지 내가이asserts
에 넣고 나는
콘솔 로그를 볼 수 있도록 내 테스트 한 페이지에 절연 볼 수있는 방법이 있다면 궁금 해서요 걸 보여줍니다.
import { moduleForComponent, test } from 'ember-qunit';
import hbs from 'htmlbars-inline-precompile';
import { clickTrigger } from 'frontend/tests/helpers/ember-power-select';
moduleForComponent('dynamic-input-field', 'Integration | Component | dynamic input field', {
integration: true
});
test('it renders', function(assert) {
// Set any properties with this.set('myProperty', 'value');
this.set(...);
// render the component
this.render(hbs`{{my-component myProperty}}`);
// actions of user here
clickTrigger(); //this opens the ember-power-select
assert.equal($('.ember-power-select-dropdown').length, 1, 'Dropdown is rendered');
// check if it is rendering the elements and if it is excluding one element
assert.equal('Field Four',$($('.ember-power-select-option')[2]).text().trim());
});
편집 :
이
시험의 골격이다 나는 단지assert.equal()
사용하여 어떤 문제를 알아 냈어.(jQuery 함수) 중 하나가 누락되었습니다. 예 : 그것은 여전히 렌더링 요소를 참조하는 큰 수, 그리고 다음과 같이 구성 요소의
didRender
lifecycle hook 내부의
debugger;
statement를 사용해보십시오
assert.equal()
수락 테스트가 실행되지 않습니다. 내 구성 요소에 대해서만 테스트를 만들려고합니다. 내 구성 요소를'this.render (hbs \'{{my-component}} \') '로 렌더링하고 있습니다. – mk2
알립니다. 더 적절한 해결책으로 업데이트했습니다. – jacefarm
새로운 코드'components/dynamic-input-field.js가 jshint를 패스해야한다는 새로운 오류가 발생합니다. components/dynamic-input-field.js : 행 6, 열 9, 잊어 버린 '디버거'문? '과 아무것도 렌더링되지 않습니다. "개발 모드"체크 박스를 토글하려고했으나 페이지가 공백으로 바뀌 었습니다. – mk2