第 5 章:测试¶
在代码库上工作时,自动化测试非常重要。它有助于确保我们不会引入(过多的)bug 或回归。让我们看看如何测试我们的代码。
本章各练习的解决方案托管在 官方 Odoo 教程仓库 上。
1. 集成测试¶
为了确保我们的应用按预期工作,我们可以通过创建一个导览(tour)来执行 集成测试:这是一系列我们可以执行的步骤。每一步都会等待直到达到某个期望的 DOM 状态,然后执行一个动作。如果在某一点长时间无法进入下一步,导览就会失败。
让我们编写一个导览(tour),以确保能够从我们的公开路由完成一次 tshirt 订单
Exercise
在
awesome_tshirt插件模块中,添加一个/static/tests/tours文件夹。添加一个
/static/tests/tours/order_flow.js文件。添加一个执行以下步骤的导览(tour):
打开
/awesome_tshirt/order路由。填写订单表单。
验证它。
导航到我们的 Web 客户端。
打开该 T 恤订单的列表视图。
检查我们的订单能在列表中找到。
手动运行导览。
添加一个 Python 测试以编程方式运行它。
从终端运行导览。
2. 对组件进行单元测试¶
独立测试某个组件或某段代码也很有用。QUnit 测试有助于快速定位问题。
Exercise
在
awesome_tshirt插件模块中,添加一个static/tests/counter_tests.js文件。添加一个 QUnit 测试,实例化一个计数器、点击它并确保其值递增。
更多内容
3. 对我们的画廊视图进行单元测试¶
许多组件需要更多设置才能被测试。特别是,我们经常需要模拟一些演示数据。让我们看看如何做到这一点。
Note
这依赖于我们在 第 4 章:从零创建视图 中的画廊视图。
Exercise
在
awesome_gallery插件模块中,添加一个/static/tests/gallery_view_tests.js文件。添加一个测试,使用一些演示数据实例化画廊视图。
再添加一个测试,检查当用户点击某张图片时,视图会切换到对应订单的表单视图。
更多内容