Python 测试

Fuchsia 中的主机端 Python 测试通过 fx test、CI 和 CQ 使用 Fuchsia 供应商提供的 Python 解释器 (fuchsia-vendored-python) 执行。

定义主机测试

使用 python_host_test GN 模板 定义测试目标。

测试 .py 文件必须使用标准 Shebang:

#!/usr/bin/env fuchsia-vendored-python

示例 BUILD.gn

import("//build/python/python_host_test.gni")

if (is_host) {
  python_host_test("my_script_test") {
    main_source = "my_script_test.py"
    sources = [ "test_helper.py" ]
    libraries = [ "//path/to/library:lib" ]
  }
}

group("tests") {
  testonly = true
  public_deps = [ ":my_script_test($host_toolchain)" ]
}

关键 GN 参数

  • main_source:(必需)主 .py 测试入口点的路径。
  • libraries:(可选)测试导入的 python_library 标签列表。
  • enable_mypy:(可选)启用 MyPy 静态类型检查。默认值为 true

运行测试

使用 fx test 在本地运行测试:

fx test //path/to/my_test:my_script_test