Javascript 如何用Jest测试Vue组件的计算属性设置器

Javascript 如何用Jest测试Vue组件的计算属性设置器,javascript,unit-testing,vue.js,jestjs,Javascript,Unit Testing,Vue.js,Jestjs,我想测试组件的setter在尝试分配无效值时是否抛出自定义错误。我认为问题在于它甚至不调用setter,它的行为就像它只是在对象中创建/赋值给普通属性一样。但它返回默认的sortData。谢谢你的帮助 编辑: 组件中的代码: //Vue组件。。。 排序:{ /** *盖特。 * */ 得到{ //从数据中存储数据。 返回此.sortData }, /** *塞特。 * */ 设定值{ 如果值==‘无’| |值==‘按日期’| |值==‘按评级’{ this.sortData=值 此.$emit'

我想测试组件的setter在尝试分配无效值时是否抛出自定义错误。我认为问题在于它甚至不调用setter,它的行为就像它只是在对象中创建/赋值给普通属性一样。但它返回默认的sortData。谢谢你的帮助

编辑:

组件中的代码:

//Vue组件。。。 排序:{ /** *盖特。 * */ 得到{ //从数据中存储数据。 返回此.sortData }, /** *塞特。 * */ 设定值{ 如果值==‘无’| |值==‘按日期’| |值==‘按评级’{ this.sortData=值 此.$emit'sortChange',值 }否则{ //我想测试这个错误。 抛出新的EnumError'Component::SortPanel:Sort属性的类型为Enum'+ 他说,无论是按日期还是按评级值,都不例外 } } }, //Vue组件。。。 测试用例:

每个函数之前{ //用于测试的组件由vue测试utils包中的浅层函数初始化。 sortPanel=浅口面板 } //其他测试。。。 它“应该具有属性排序”功能{ expectsortPanel.vm.sort.toBe'none' //应为无,按日期或按评级。 期望=>{ sortPanel.vm.sort='anything' }.Tothrower先生 } //其他测试…您需要执行sortPanel.setData{sort:'anything'}。您的setter将被正确调用


从vue测试utils看,问题是否特定于开玩笑的测试?如果在常规浏览器窗口中实例化组件并尝试设置无效值,是否会引发预期的错误?是,如果尝试从选择字段中分配无效值,则会引发正确的错误。