브라우저에서 Vue Jest 테스트 디버깅
3449 단어 vueunittestsjavascriptjest
자, 이 게시물은
jest-preview
에 관한 것인데 꽤 멋집니다. 하지만 불행히도 현재는 @testing-library/vue
에서만 작동합니다. 가장 간단한 구성 요소 이외의 것을 테스트할 때 거의 즉시 문제가 발생했습니다. 작업을 완료할 수 없었고 @vue/test-utils
로 되돌려야 했습니다.문서화를 위해 이 게시물을 남겨두고 있지만 사람들이 피해야 할 경고로 남겨 두는 것도 똑같이 중요하다고 느꼈습니다
testing-library
.다음은 Vue.js 구성 요소에서 Jest 테스트의 브라우저 기반 디버깅을 얻기 위해 내 저장소 중 하나에서 수행한 단계입니다. 특히 이것은 Vue-CLI로 생성된 Vue 3 저장소입니다.
이는 라이브러리
jest-preview
를 통해 가능합니다. 대규모 종합 코드베이스에서 아직 사용하지 않았기 때문에 접하지 못한 극단적인 경우가 있을 수 있지만 사용하면서 이 게시물을 업데이트하겠습니다.npm install --save-dev @testing-library/vue concurrently jest-preview wait-on
npm uninstall @vue/test-utils
jest.config.js
에 다음을 추가합니다.setupFilesAfterEnv: ['<rootDir>/tests/unit/setup.js'],
transform: {
'^.+\\.vue$': '@vue/vue3-jest',
'^.+\\.css$': 'jest-preview/transforms/css',
'^(?!.*\\.(js|css|json|vue)$)': 'jest-preview/transforms/file'
}
tests/unit/setup.js
에서 다음과 같이 전역 CSS를 가져옵니다.import '../../public/global.css';
import 'bootstrap/dist/bootstrap.min.css';
tests/unit/setup.js
에 다음을 추가합니다.import { jestPreviewConfigure } from 'jest-preview';
jestPreviewConfigure({ autoPreview: true });
테스트에서 다음을 변경합니다.
발신자:
import { shallowMount } from '@vue/test-utils';
대상:
import { render } from '@testing-library/vue';
테스트 변경:
발신자:
const wrapper = shallowMount(MyComponent, options);
대상:
const wrapper = render(MyComponent, options);
테스트 변경:
발신자:
const validator = wrapper.vm.$options.props.whatever.validator;
대상:
const validator = MyComponent.props.whatever.validator;
마지막으로
package.json
에 다음 npm 스크립트를 추가합니다."jest": "concurrently \"jest-preview\" \"wait-on http://localhost:3336 && npm run unit\"",
npm run unit
부분을 jest를 실행하는 데 사용하는 스크립트로 변경합니다npm run jest
Reference
이 문제에 관하여(브라우저에서 Vue Jest 테스트 디버깅), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/thejaredwilcurt/debugging-vue-jest-tests-in-a-browser-1m25텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)