The suggested solution works. I post what I've done for the shake of completeness.
I now have one more crate testing:
root
├───common
├───crate_01
├───crate_02
│
├───testing
│ ├───src
│ │ └───lib.rs # all test helper functions defined as pub.
│ └───Cargo.toml
│
├───exe_(application)
testing's Cargo.toml:
[package]
...
publish = false
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
common = { path = "../common" }
-- Please note publish = false under [package].
Both crate_01's and crate_02's Cargo.toml have this additional entry: