簡體   English   中英

編譯一個 Rust 二進制文件,僅用於 crate 的集成測試

[英]Compile a Rust binary only for use in the crate's integration tests

我正在創建一個獨立的輔助實用程序供我的一些集成測試使用。 我可以用腳本語言編寫它,如 Bash 或 Python,但如果它是 Rust 二進制文件會很方便,因為項目的 rest 就是這樣編寫的,並且會避免使項目的測試依賴項復雜化。 但是我不確定是否有創建“僅測試”二進制文件的好方法。 我知道我可以將一些東西放到bin/中,但它真的不應該在測試之外使用,所以它看起來像是錯誤的位置(更不用說即使不需要它也會被編譯)。

有沒有辦法定義一個只應該編譯用於測試的二進制文件? 有點像dev-dependencies配置但是是二進制而不是依賴。 例如,我試圖查看tests/bin/目錄是否可以工作,但在運行cargo test時似乎沒有被拾取。

我寫了 crate Rust Test Binary來做這件事:

如果您對涉及子進程管理、進程間通信或平台工具的事情進行集成測試,您可能需要編寫一些自己的模擬二進制文件來進行測試。 如果您已經在使用 Cargo 來構建和測試,那么能夠在 Rust 中編寫這些測試二進制文件會很好,靠近您正在測試的板條箱,作為貨物項目本身。

這個 crate 提供了一個簡單的接口,用於調用 Cargo 來構建在你的 crate 下的單獨目錄中組織的測試二進制文件。

請注意,您可以在examples中使用二進制文件,這樣會更簡單。 但是我的 crate 適用於需要不同的依賴項、特性,或者通常希望在“模擬”程序編譯和集成測試之間進行一些隔離的情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM