第 5 章:测试

在代码库上工作时,自动化测试非常重要。它有助于确保我们不会引入(过多的)bug 或回归。让我们看看如何测试我们的代码。

本章各练习的解决方案托管在 官方 Odoo 教程仓库 上。

1. 集成测试

为了确保我们的应用按预期工作,我们可以通过创建一个导览(tour)来执行 集成测试:这是一系列我们可以执行的步骤。每一步都会等待直到达到某个期望的 DOM 状态,然后执行一个动作。如果在某一点长时间无法进入下一步,导览就会失败。

让我们编写一个导览(tour),以确保能够从我们的公开路由完成一次 tshirt 订单

Exercise

  1. 在 awesome_tshirt 插件模块中,添加一个 /static/tests/tours 文件夹。

  2. 添加一个 /static/tests/tours/order_flow.js 文件。

  3. 添加一个执行以下步骤的导览(tour):

    1. 打开 /awesome_tshirt/order 路由。

    2. 填写订单表单。

    3. 验证它。

    4. 导航到我们的 Web 客户端。

    5. 打开该 T 恤订单的列表视图。

    6. 检查我们的订单能在列表中找到。

  4. 手动运行导览。

  5. 添加一个 Python 测试以编程方式运行它。

  6. 从终端运行导览。

2. 对组件进行单元测试

独立测试某个组件或某段代码也很有用。QUnit 测试有助于快速定位问题。

Exercise

  1. 在 awesome_tshirt 插件模块中,添加一个 static/tests/counter_tests.js 文件。

  2. 添加一个 QUnit 测试,实例化一个计数器、点击它并确保其值递增。

../../../_images/component_test.png