Do you enable tracing-subscriber for tests?

One of the pain points when writing tests for Axum applications is debugging what went wrong. One thing I've been doing is keeping a test helper to setup a tracing subscribing on my test helpers to add to the test when debugging. i.e.

// t.rs
#[allow(unused)]
pub(crate) fn setup_tracing() {
    let _ = tracing_subscriber::fmt()
        .with_env_filter("debug,tower_http=trace")
        .with_test_writer()
        .try_init();
}
...
#[tokio::test]
async fn test_foo() -> Result<()> {
  t::setup_tracking();
  ...
}

I'm curious if people instead always setup tracing when running tests. And if so where would they enable it? AFAIU Rust's built-in test runner doesn't have something like Go's TestMain


I'm also curious what debugging strategies besides println! do y'all use.

I've had some success with Once initializing tracing only once for tests, but I haven't tried with_test_writer()... I assume that makes it nicer to only show the output if the test fails (or nocapture behavior)?