6.2 Rust 测试的 GN 规则

02-Rust 测试的 GN 规则 — Comprehensive Rust

译文 · 基于 Comprehensive Rust

原文链接: https://google.github.io/comprehensive-rust/chromium/testing/build-gn.html

6.2 Rust 测试的 GN 规则

构建 Rust gtest 测试最简单的方式,是把它们加到已包含用 C++ 编写的测试的现有测试二进制中。例如:

test("ui_base_unittests") {
  ...
  sources += [ "my_rust_lib_unittest.rs" ]
  deps += [ ":my_rust_lib" ]
}

把 Rust 测试写在单独的 static_library 中也可以,但需要手动声明对支持库的依赖:

rust_static_library("my_rust_lib_unittests") {
  testonly = true
  is_gtest_unittests = true
  crate_root = "my_rust_lib_unittest.rs"
  sources = [ "my_rust_lib_unittest.rs" ]
  deps = [
    ":my_rust_lib",
    "//testing/rust_gtest_interop",
  ]
}

test("ui_base_unittests") {
  ...
  deps += [ ":my_rust_lib_unittests" ]
}
最后修改 August 11, 2026: 更新 (70a5af133)