gpt4 book ai didi

vue.js - 无法窥探原始值;给定的未定义。 Vue JS、Jest、实用程序

转载 作者:行者123 更新时间:2023-12-04 12:23:50 26 4
gpt4 key购买 nike

我尝试使用 spyOn 来监视函数及其实现。但是,我收到了这个错误。 “无法监视原始值;未定义给定”。
我已经阅读了 https://jestjs.io/docs/en/jest-object 中 jest.spyOn 的文档.但它一直显示相同的错误......有什么我应该添加和改进的吗?
下面是代码

<template>
<div>
<form @submit.prevent="onSubmit(inputValue)">
<input type="text" v-model="inputValue">
<span class="reversed">{{ reversedInput }}</span>
</form>
</div>
</template>

<script>
import axios from 'axios';

export default {
props: ['reversed'],
data: () => ({
inputValue: '',
results: [],
}),
methods: {
onSubmit(value) {
const getPromise = axios.get(
'https://jsonplaceholder.typicode.com/posts?q=' + value,
);

getPromise.then(results => {
this.results = results.data;
});

return getPromise;
},
},
};
</script>
而测试代码是
import axios from 'axios'; // axios here is the mock from above!
import { shallowMount } from '@vue/test-utils';


import Form from '@/components/Form.vue';

describe('Form.test.js', () => {
const wrapper;

describe('Testing Submit events', () => {
wrapper = shallowMount(Form);

it('calls submit event', () => {
const onSubmit = jest.spyOn(Form.prototype, 'onSubmit') // mock function

// updating method with mock function
wrapper.setMethods({ onSubmit });

//find the button and trigger click event
wrapper.findAll('form').trigger('submit');
expect(onSubmit).toBeCalled();
})


});

})
你还可以告诉我什么以及如何使用 spyOn 来测试该方法吗?
非常感谢
此致
卢格尼

最佳答案

组件定义表明 Form是一个对象。 Form.prototype === undefined因为 Form不是函数。由于未使用 Vue 类组件,因此没有任何相反的迹象。
它可以被监视为:

jest.spyOn(Form.methods, 'onSubmit')
这应该在组件实例化之前完成。和 spyOn没有提供实现会创建一个 spy ,而不是一个模拟。

关于vue.js - 无法窥探原始值;给定的未定义。 Vue JS、Jest、实用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63450455/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com