반응형
vue-multicelect에 대한 쓰기 단위 테스트
vue-multicelect 테스트 작성 방법을 알아보고 있는데 문제가 있습니다.
특히, (옵션을 선택하기 전에) 드롭다운을 열기 위해 입력을 "클릭"하려고 합니다만, 아무것도 동작하지 않습니다.
노력했어
vm.$el.querySelector('.multiselect').click()
브라우저:
document.querySelector('.multiselect').click()
다른 조합들도 많은데 아무 것도 안 돼요.
유닛 테스트에서 사용하는 방법에 대해 문서를 제공하지 않는 것이 테스트 범위임을 강조하는 라이브러리로서는 이상합니다.
마침내 이 일을 해냈다, 열쇠는.dispatchEvent(new window.Event('focus'))
것은 아니다..focus()
.
최종 테스트의 관련 비트:
expect(vm.$el.querySelectorAll('input')).to.have.lengthOf(1)
vm.$el.querySelector('.multiselect').dispatchEvent(new window.Event('focus'))
await tick()
const s = vm.$el.querySelectorAll('.multiselect__element')[2].querySelector('span')
expect(s.innerText).to.equal('Science')
s.dispatchEvent(new window.Event('mousedown'))
await tick()
expect(routes_visited).to.deep.equal(['/s/3-science'])
vm.$el.querySelector('.cross').click()
await tick()
expect(routes_visited).to.deep.equal(['/s/3-science', '/'])
(컴포넌트가 변경되는 것에 주의해 주세요).vue-router
루트가 있어서watch
루트 입력 및 푸시routes_visited
테스트에서 변경을 추적합니다.)
언급URL : https://stackoverflow.com/questions/42981848/writing-unit-tests-for-vue-multiselect
반응형
'programing' 카테고리의 다른 글
C에서 연산자는 무엇을 합니까? (0) | 2022.06.22 |
---|---|
Executor Service를 사용하여 모든 스레드가 완료될 때까지 기다리는 방법 (0) | 2022.06.22 |
ArrayList에 값이 있는지 확인합니다. (0) | 2022.06.22 |
긴 요소 목록에서 작은 변경 하나에 대해 렌더링 시간을 단축할 수 있는 방법이 있습니까? (0) | 2022.06.22 |
Vue는 vue 1에서 vue 2로의 이행을 필터링합니다. (0) | 2022.06.22 |