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" ]
}