In addition to the approaches listed by @chenyan above, there is also the approach to use the ic-hs
IC simulator as a library, and use Haskell to script the testing of the compiled canister. As it works with the compiled wasm, it works with both Motoko and Rust canisters. This is the approach chosen by the Internet Identity project:
1 Like