Я запускаю несколько тестов с помощью cargo test и хочу, чтобы тесты были отсортированы в алфавитном порядке. Если я это сделаю cargo run, я получу что-то вроде следующего:
test node::tests::start_node::get_value_start ... ok
test node::tests::start_node::get_value ... ok
test node::tests::start_node::set_value ... ok
test node::tests::main_node::test_new ... ok
test main_tests::run_checks ... ok
test node::tests::start_node::test_new ... ok
test sigmoid::tests::sig_deriv_f32 ... ok
test sigmoid::tests::sig_deriv_inf::test_f32 ... ok
test sigmoid::tests::sig_deriv_inf::test_f64 ... ok
test training_data::tests::iter_chunks ... ok
test training_data::tests::get_chunks ... ok
test sigmoid::tests::sig_inf::test_f64 ... ok
test sigmoid::tests::sig_f32 ... ok
test sigmoid::tests::sig_inf::test_f32 ... ok
test sigmoid::tests::sig_deriv_f64 ... ok
test sigmoid::tests::sig_f64 ... ok
и тесты выводятся каждый раз в другом, казалось бы, случайном порядке.
Есть ли способ вывести тесты так, чтобы они были отсортированы по алфавиту, примерно так:
test main_tests::run_checks ... ok
test node::tests::main_node::test_new ... ok
test node::tests::start_node::get_value_start ... ok
test node::tests::start_node::get_value ... ok
test node::tests::start_node::set_value ... ok
test node::tests::start_node::test_new ... ok
test sigmoid::tests::sig_deriv_f32 ... ok
test sigmoid::tests::sig_deriv_f64 ... ok
test sigmoid::tests::sig_deriv_inf::test_f32 ... ok
test sigmoid::tests::sig_deriv_inf::test_f64 ... ok
test sigmoid::tests::sig_f32 ... ok
test sigmoid::tests::sig_f64 ... ok
test sigmoid::tests::sig_inf::test_f32 ... ok
test sigmoid::tests::sig_inf::test_f64 ... ok
test training_data::tests::iter_chunks ... ok
test training_data::tests::get_chunks ... ok





Они уже запускаются в алфавитном порядке по умолчанию , проблема в том, что они также запускаются параллельно и выводят результат как можно быстрее, чтобы сэкономить вам время. Если вы хотите, чтобы выходные данные были отсортированы, вам придется запускать тесты последовательно, ограничив тестовую среду одним потоком:
cargo test -- --test-threads=1
Обратите внимание, что это, скорее всего, увеличит время выполнения тестов.
cargo test --all | sort