当前位置: 首页 > news >正文

深圳专业企业网站建设模板大鹏网络网站建设报价

深圳专业企业网站建设模板,大鹏网络网站建设报价,男女之间做那个的网站,网站设计培训学校vue3 单元测试#xff08;hooks测试#xff09; 普通单元测试 function add(a: number, b: number) {return a b;}expect(add(1, 2)).toEqual(3);vue中的测试 vue的hook中存在vue的生命周期#xff0c;所以需要hooks在vue中运行模拟整个生命周期 为hook提供组件环境 im…vue3 单元测试hooks测试 普通单元测试 function add(a: number, b: number) {return a b;}expect(add(1, 2)).toEqual(3);vue中的测试 vue的hook中存在vue的生命周期所以需要hooks在vue中运行模拟整个生命周期 为hook提供组件环境 import { mount } from vue/test-utils; export function mountHook(hook: () any, provide: { [key: string]: any } {}) {return new Promise((resolve) {const Comp defineComponent({name: TestHookDepComponent,setup: () {resolve(hook());},template: span123/span,});const ProviderComponent defineComponent({name: TestHookProvideComponent,components: { TestHookDepComponent: Comp },provide: provide,setup: () {},template: TestHookDepComponent /,});const comp mount(ProviderComponent, { props: { name: 123 } });return comp;}); }为了方便提供和修改hook中的其他依赖所以父组件提供ref等数据子组件依赖的hook可获取到 测试纯hooks不依赖外部 export function testHook() {const data ref(1);const data1 ref(data.value 1);watch([data.value], () {data1.value data.value 1;});return {updateData: (num: number) {data.value num;},data,data1} }普通hook测试 import { mountHook } from ./mountHook; import { testHook } from ./testHook; describe(testHook, () {it(test1, async() {const handle testHook(testHook);expect(handle.data.value).toEqual(1);expect(handle.data1.value).toEqual(2);handle.data.value 2;await nextTrick();expect(handle.data1.value).toEqual(3);handle.update(4);await nextTrick();expect(handle.data1.value).toEqual(5);}); });存在其他hook的依赖 不管vue和react都是倾向于组合式hook所以真实开发情况都会存在外部hook的依赖单元测试的目标是只测试自己的逻辑无条件的信赖外部依赖 第三方hook export function otherHook() {const dataRef ref(1);onMounted(() {dataRef.value 2;});return {dataRef,update: () {dataRef.value 3;}} }待测试的hooks import { otherHook } from ./otherHook; export function myHook() {const { dataRef, update} otherHook();const myValue ref(1);const myData computed(() {return dataRef.value myValue.value;});return {myData,update: (val: number) {myValue.value val;}} }测试 import { vi } from vitest; import { myHook } from ./myHook; describe(test myHook, () {it(test, async () {// 替换otherHook让otherHook按照自己的预想逻辑运行vi.mock(./otherHook, () {return {otherHook: () {const dataRef ref(1);return {dataRef,update: () {}}}}});const handle testHook(myHook);await nextTrick();expect(handle.myData.value).toEqual(2);handle.update(2);await nextTrick();expect(handle.myData.value).toEqual(3);}); });
http://www.pierceye.com/news/267108/

相关文章:

  • mysql 收费 网站建设wordpress主题后台不显示
  • 网站cname解析陕西住房建设厅考试官方网站
  • 网站建设有关书籍设计制作散发寄递
  • 威海建设信息网站织梦网站广告代码如何写
  • 玉林市网站开发公司wordpress tag静态化
  • 广州网站建设建航科技百度域名书写
  • 免费做网站安全吗网站不备案可以访问吗
  • 网上做网站兼职最近10条重大新闻
  • 企业网站制作 徐州政务网站建设要求
  • 网站链接加密重庆黄埔seo整站优化
  • 没有网站怎么做链接视频播放器crm营销管理系统
  • 网站建设艾金手指六六12app源码开发公司
  • 山东做网站建设公司排名互联网官网
  • 民宿网站开发方案静态网站源文件下载
  • 绵阳网站建设优化甘肃省安装建设集团公司网站
  • wordpress建站知乎广告设计软件coreldraw教程
  • wordpress注册无法发送邮件保定seo外包服务商
  • 进口外贸网站有哪些wordpress百度统计代码
  • 建筑网站排行国外网站备案流程
  • dw做网站一般是多大的尺寸网站开发运行环境论文
  • 湖北省建设厅政务公开网站聊城开发app公司
  • 石家庄网站建设接单金融软件网站建设公司排名
  • 企企业业网网站站建建设设哪个网站可以做纸箱
  • 国外专门做视频翻译网站吗山西时代网站建设
  • 云南省城乡住房与建设厅网站杭州网站制作平台公司
  • 程序员做网站美工能过关吗深圳品牌折扣店
  • 地产网站设计怎么做网贷网站
  • 公司网站是如何搭建的跨境电商被骗血本无归
  • 品牌网站建设目标vps怎么做多个网站
  • 普陀区建设工程质检网站网站建设 工作方案