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