分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

stenciljs 学习八 组件测试

发布时间:2023-09-06 02:16责任编辑:白小东关键词:js组件

测试对于框架来说比较重要,对于web 组件的测试同样很重要,类似的jest 很方便,stenciljs也是基于jest 开发的
包含两个核心api render(), flush()

测试配置

package.json 配置

 "devDependencies": { ?????... ?????"@types/jest": "^21.1.1", ?????"jest": "^21.2.1" ?},

npm script 配置

"scripts": { ?????... ?????"test": "jest --no-cache", ?????"test.watch": "jest --watch --no-cache" ?},

组件渲染测试

主要函数

  • render({components:[],html:string} ) 进行组件列表的渲染,html 是html 的代码片段,包含组件的使用
  • flush(element) 用来在属性变更之后刷新元素

渲染组件

  • components 组件列表
  • html html 片段
    参考
beforeEach(async () => { ?element = await render({ ???components: [MyName], ???html: ‘<my-name></my-name>‘ ?});});

刷新组件

flush 函数

it(‘should work with both the first and the last name‘, async () => { ?element.first = ‘Peter‘ ?element.last = ‘Parker‘; ?await flush(element); ?expect(element.textContent).toEqual(‘Hello, my name is Peter Parker‘);});

组件测试

参考

 ?it(‘should least each part of the name breaking on spaces‘, async () => { ?????element.first = ‘Pasta Primavera‘; ?????element.last = ‘O Shea Buttersworth‘; ?????await flush(element); ?????const list = element.querySelector(‘ul‘); ?????expect(list.children.length).toEqual(5); ?????expect(list.children[0].textContent).toEqual(‘Pasta‘); ?????expect(list.children[1].textContent).toEqual(‘Primavera‘); ?????expect(list.children[2].textContent).toEqual(‘O‘); ?????expect(list.children[3].textContent).toEqual(‘Shea‘); ?????expect(list.children[4].textContent).toEqual(‘Buttersworth‘); ???}); ???组件方法测试 ???it(‘should return an empty string if there is no first or last name‘, () => { ????const myName = new MyName(); ????expect(myName.formatted()).toEqual(‘‘); ???});

参考资料

https://stenciljs.com/docs/unit-testing

stenciljs 学习八 组件测试

原文地址:https://www.cnblogs.com/rongfengliang/p/9711224.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved