Odoo 14前端框架OWL之如何测试组件?

Odoo Alan 4年前 (2020-08-30) 10006次浏览 9个评论 扫描二维码

完整目录请见Odoo 14全新前端框架 OWL(Odoo Web Library)官方文档中文版

🦉 如何测试组件 🦉

内容

综述

测试应用及组件来保障其行为和预期一致是一种良好实践。有很多测试用户界面的方式:手动测试、集成测试、单元测试…

本节中,我们将讨论如何为组件编写单元测试。

单元测试

为Owl组件编写单元测试其实是取决于项目中所使用的测试框架。但通常,它包含如下步骤:

  • 创建测试文件:例如SomeComponent.test.js
  • 在该文件中为SomeComponent导入代码,
  • 添加测试用例:
    • 创建一个真实的DOM元素用作测试夹具,
    • 创建测试环境
    • 创建SomeComponent的实例,载入到夹具中
    • 与组件交互并对某些属性进行断言

为有助于这一操作,包含一些通用工具函数的helper.js文件会比较有用:

通过这一文件,典型针对Jest的测试套件如下这样:

注意Owl不会等待下一个动画帧实际去更新DOM。这也是为什么有必要通过nextTick(或其它方法)来确保DOM是最新的。

通常等待Owl完全更新组件后是有益的(尤其是在有高度并发用界面时)。下一个帮助方法在内部Owl任务队列并在解析为空返回promise时的每20秒进行触发:

 

喜欢 (2)
[]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(9)个小伙伴在吐槽
  1. 真的很可惜,您的翻译是在网上能找到的比较完整和系统性的odoo资料了,可惜没看完就没了 :sad: 之前一直默默学习,也没有评论交流,现在还是要出来和您说一声谢谢!希望还能有机会再看到您之前的翻译资料,祝您身体健康!
    爱上雨天2020-08-31 17:04 回复
    • Alan
      我会抽空把剩余的转载至简书:Odoo 12手册:https://www.jianshu.com/nb/33210588 Odoo 12指南:https://www.jianshu.com/nb/47653284 能存放多久我不确定,另外网上有很多转载,请自行百度
      Alan2020-08-31 17:41 回复
      • 非常非常感谢。有其他的基本书吗,想看一下
        晴空云2020-09-02 09:42 回复
      • 非常感谢,有其他的下架的书吗,想存下,有的看了一部分。
        晴空云2020-09-02 09:47 回复
        • Alan
          Python 的关注公众号回复 Python获取,Docker的晚上整理,明天可回复 Docker 获取
          Alan2020-09-02 12:56 回复
    • Alan
      简书每天有2篇上限,直接分享个转存的 PDF 吧,可关注公众号回复 odoo 获取
      Alan2020-08-31 19:36 回复
      • 非常感谢!
        爱上雨天2020-09-01 16:35 回复
  2. 一直在通过您的翻译学习,在这里说一声谢谢,只有失去了才知道珍惜,我还没吸收学习完呢 :shock:
    厉风行2020-08-30 22:41 回复
    • Alan
      不必言谢,后面会把内容整理成 PDF 或交由其它平台分发,其实网上本身也有很多人转发过大部分内容。但如果有人使用我翻译的内容进行盈利的话,请大家联系我,我翻译文字的初衷就是降低门槛和不收费
      Alan2020-08-31 08:42 回复