Vue Cypress 구성 요소 테스트에서 플러그인 복사
P粉725827686
2023-08-30 19:44:36
<p>Vue 애플리케이션을 구성요소 테스트하기 위해 Cypress를 사용하고 있습니다. https://docs.cypress.io/guides/comComponent-testing/vue/examples#Replicating-Plugins의 코드 예제를 따르면 아래와 같이 몇 가지 오류가 발생합니다. </p>
<pre class="brush:php;toolbar:false;">' 유형의 인수(이것: 컨텍스트, 구성요소:
ComponentOptionsWithObjectProps<Readonly<ComponentPropsOptions<Data>>, 알 수 없음, {},
ComputedOptions, Record<string, Function>, ... 7개 더 보기 ..., { {}>, 옵션?:
MountingOptions<...> 정의되지 않음) => 유형의 매개변수에 할당할 수 없습니다.
'CommandFn<"마운트">'.
유형 'Chainable<{ 래퍼: VueWrapper<ComponentPublicInstance<{ [x: 번호]: 알 수 없음;
읽기 전용 길이?: 숫자 | 알 수 없음, 알 수 없음 읽기 전용 연결 여부:
Prop<알 수 없음, 알 수 없음> { (...items: ConcatArray[]): string[] (...items: (string |
ConcatArray<...>)[]): string[] } null |
연결 가능<{ 래퍼:
VueWrapper>>,
알 수 없음, {}, ComputedOptions, ... 6개 더 ..., {}>> 구성 요소: ComponentPublicInstance<...>;
}>'.
'[options?: MountingOptions<{ [x: number]: 알 수 없음; }' 유형에 'global' 속성이 없습니다.
& { 읽기 전용 길이?: 숫자 | 알 수 없음, 알 수 없음 읽기 전용 연결?:
Prop<알 수 없음, 알 수 없음> { (...items: ConcatArray[]): string[] (...items: (string |
ConcatArray<...>)[]): string[] } null ... 12개 더 ...';
'Vapp'이라는 이름을 찾을 수 없습니다.
이 호출과 일치하는 과부하가 없습니다.
마지막 오버로드로 인해 다음과 같은 오류가 발생했습니다.</pre>
<p>저는 TypeScript를 사용하고 있습니다.누군가 나에게 작동하는 코드 조각을 제공할 수 있습니까? 내 코드는 다음과 같습니다: </p>
<pre class="brush:php;toolbar:false;">"pinia"에서 { createPinia } 가져오기;;
"../../src/locales/i18n"에서 i18n을 가져옵니다.
"cypress/vue"에서 {마운트 } 가져오기;
"vue"에서 {h } 가져오기;;
전역 선언 {
네임스페이스 사이프러스 {
인터페이스 체인 가능 {
mount: 마운트 유형;
}
}
}
Cypress.Commands.add("mount", (컴포넌트, ...args) => {
args.global = args.global ||
args.global.plugins = args.global.plugins [];
args.global.plugins.push(createPinia());
args.global.plugins.push(i18n);
return mount(() => {
h(Vapp, {}, 구성 요소) 반환
}, ...args);
});</pre>
<p>이 문제를 해결하는 방법을 아는 사람이 있나요? 테스트에서 이 마운트 기능을 사용할 때 어떻게 호출합니까? </p>
Vue Test Utils 구문을 사용하여 이 문제를 해결했습니다. /support/comComponent.ts에서:
으아악