用 Python 编写基本测试

起点:我们假设您有一个 基本的 ament_python 软件包 已经设置好了,你想添加一些测试。

如果您使用的是 ament_cmake_python,请参考 ament_cmake_python 文档 了解如何使测试可被发现。测试内容和调用 胶管 保持不变。

软件包设置

setup.py

您的 setup.py 必须依赖于 测试 在调用 设置(...):

测试要求=['pytest';],

测试文件和文件夹

测试代码需要放在名为 试验 在软件包的根目录中。

任何包含要运行的测试的文件都必须具有 test_FOO.py 其中 FOO 可以用任何东西代替。

软件包布局示例:

超级棒的包装/
  超级棒的包装/
      启动.py
      沫沫.py
  包装.xml
  设置.cfg
  设置.py
  试验/
      test_init.py
      测试版权.py
      test_fozzie.py

测试内容

现在,您可以尽情编写测试。有 有关 pytest 的大量资源但简而言之,您可以使用 测试 前缀,并包含任何你想要的断言语句。

捍卫 测试数学():
    宣称 2 + 2 == 5   # 对于大多数数学系统来说,这应该是失败的

运行测试

参见 如何从命令行运行测试的教程 运行测试和检查测试结果的更多信息。

特殊命令

超越 标准 colcon 测试命令 您还可以为 测试 命令行中使用 --参数 标记。例如,可以使用

colcon test --packages-select <name-of-pkg> --pytest-args -k name_of_the_test_function

要在运行测试时查看 pytest 输出,请使用这些标记:

colcon test --event-handlers console_cohesion+