Skip to content

Testing

Move bakes unit testing into the language, so a lot of logic that would require external test harnesses in Solidity can live close to the module itself.

#[test(aptos_framework = @std, owner = @billboard_address, alice = @0x1234)]
fun test_billboard_happy_path(
aptos_framework: &signer,
owner: &signer,
alice: &signer,
) {
// test logic
}
  • Unit tests are built into the language and run with the CLI.
  • Test signers can be declared directly in the #[test(...)] annotation.

Run module-level tests with the Aptos CLI.

For higher-level TypeScript-driven workflows, use Forklift. It fills the role Ethereum developers often expect from Hardhat or Foundry when scripting deployments, simulations, and richer integration flows.