Where should I put test utility functions in Rust?

前端 未结 2 458
刺人心
刺人心 2021-01-02 06:24

I have the following code defining a path where generated files can be placed:

fn gen_test_dir() -> tempdir::TempDir {                                             


        
2条回答
  •  死守一世寂寞
    2021-01-02 06:53

    You can import from your #[cfg(test)] modules from other #[cfg(test)] modules, so, for example, in main.rs or in some other module, you can do something like:

    #[cfg(test)]
    pub mod test_util {
        pub fn return_two() -> usize { 2 }
    }
    

    and then from anywhere else in your project:

    #[cfg(test)]
    mod test {
        use crate::test_util::return_two;
    
        #[test]
        fn test_return_two() {
            assert_eq!(return_two(), 2);
        }
    }
    
    

提交回复
热议问题