2016-07-03 4 views
2

私はユニットテストを書くために(錆帳に応じて)標準的な方法を使用します。モジュールテストのみにエクスポート機能?

fn func() -> i32 { 
    0 
} 

#[cfg(test)] 
mod test { 
    use super::*; 

    #[test] 
    fn func_test() { 
     let res = func(); 
    } 
} 

それをコンパイルするために、私はpubキーワード経由func公衆をしなければなりません。

funcをプライベートにすることはできますが、内部のテストモジュール内で使用できますか?

答えて

6

Rust 1.15現在、コードは問題なく動作します。

以前は、パブリックシンボルのみをワイルドカードインポート(use super::*;など)でインポートしました。この動作は、RFC 1560で指定されたとおりに変更されました。あなたは私の前の完全な答えをedit logsで見ることができます。

関連する問題