저는 Vue 3에서 Vuex에서 Pinia로 전환하고 있으며 현재 유닛 테스트에 실패하고 있습니다.사용자 지정 모의 작업을 만들 수 없는 것 같습니다.
다음은 앱의 암호 재설정 페이지에 있는 간단한 예입니다. 서버 측을 우회하여 클릭 시 암호를 재설정하여 성공적으로 테스트를 작성하고 다음과 같은 사용자 지정 테스트 저장소를 사용하고 싶습니다.
const customStore = {
state() {
return {
Authentication: {
passwordResetSuccess: false,
},
};
},
mutations: {
SET_RESET_PASSWORD_SUCCESS(state) {
state.Authentication.passwordResetSuccess = true;
},
},
actions: {
forgotPasswordResetPassword() {
this.commit('SET_RESET_PASSWORD_SUCCESS');
},
},
};
그러면 각() 전에 사용자 지정 스토어를 포함할 수 있었고 잘 작동했습니다.제가 생각할 수 있는 모든 것을 피니아와 함께 작동하도록 노력했지만, 효과가 없는 것 같습니다.
저는 vue/test-utils와 함께 농담을 사용하고 있습니다.
저는 기본적으로 테스트 피니아 스토어를 만들려고 했는데, 어떻게 구성 요소가 커스텀 테스트 스토어를 사용하도록 할 수 있는지 모르겠습니다.
const useCustomStore = defineStore('AuthenticationStore', {
state: () => ({
passwordResetSuccess: false,
}),
actions: {
forgotPasswordResetPassword() {
this.passwordResetSuccess = true;
},
},
});
const authenticationStore = useCustomStore();
활성 pinia 인스턴스를 찾을 수 없기 때문에 플러그인으로 직접 추가할 수 없습니다.
저는 이 가이드를 통해 보았습니다: https://pinia.vuejs.org/cookbook/testing.html#unit-testing-a-store
그리고 여기에 설명된 것처럼 저는 또한 농담 모의를 사용해 보았습니다: https://stackoverflow.com/a/71407557/4697639
하지만 여전히 실패했습니다.
구성 요소에서 사용할 수 있는 사용자 지정 저장소를 만들고 실제로 사용자 지정 작업을 수행하는 방법을 알고 있는 사람이 있다면 이 문제를 해결하는 데 도움이 필요합니다.고마워!!
타오는 댓글에서 이것이 유닛 테스트를 하는 좋은 방법이 아니라고 언급했습니다.이것을 해결된 것으로 표시하고 테스트 방법을 수정하겠습니다.
언급URL : https://stackoverflow.com/questions/74482359/im-switching-from-vuex-to-pinia-in-vue-3-and-my-unit-tests-are-now-failing-i-c
'programing' 카테고리의 다른 글
| Vuex 플러그인 오류 (0) | 2023.07.09 |
|---|---|
| JDK 1.6에서 Oracle SQL Developer를 실행하고 1.7에서 모든 것을 실행하려면 어떻게 해야 합니까? (0) | 2023.07.09 |
| 구성 관리자를 수행합니다.매번 web.config 파일에서 AppSettings[Key]를 읽으시겠습니까? (0) | 2023.07.09 |
| 오류: mongodb를 연결하는 윈도우즈에서 유닉스 소켓을 지원하지 않습니다. (0) | 2023.07.09 |
| 콘다 명령을 찾을 수 없습니다. (0) | 2023.07.09 |