[英]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.