tokuhirom's Blog

cargo test で fork させたい

https://crates.io/crates/rusty-fork

cargo test はプロセスを共有する。これではテストをしづらいケースがある。例えば C のライブラリのラッパーなどの場合、初期化関数を何回も呼んではいけないケースがある。

rusty-fork crate を利用すると、以下のように書くだけで別プロセスでテストを実行させることが可能である。

use rusty_fork::rusty_fork_test;

rusty_fork_test! {
    #[test]
    fn my_test() {
        assert_eq!(2, 1 + 1);
    }

    // more tests...
}