Подтвердить что ты не робот

Как организовать единичные тесты ржавчины?

У меня есть несколько методов в mod. Эти методы необходимо протестировать, но они конфиденциальны. В настоящее время у меня есть модульные тесты внутри одного и того же mod, но я не уверен, что это правильный путь, потому что я смешиваю две разные вещи.

Должен ли я помещать свои модульные тесты в другой файл? Если да, то как я могу проверить частные методы?

4b9b3361

Ответ 1

Рекомендуется размещать тесты в своем собственном модуле. Этот модуль должен быть дочерним модулем, код которого вы хотите протестировать (и его можно определить в том же или другом файле).

#[cfg(test)]
mod tests {
    #[test]
    fn test_some_stuff() {
      // ... test code ...
    }
}

Если да, как я могу проверить частные методы?

Они не будут закрытыми для дочерних модулей, но вам все равно нужно импортировать их с помощью use super::some_name;

Кстати, все это объясняется в руководстве по тестированию, что, вероятно, связано с тем, что вы получаете downvoted.