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.
A Move unit test
Section titled “A Move unit test”#[test(aptos_framework = @std, owner = @billboard_address, alice = @0x1234)]fun test_billboard_happy_path( aptos_framework: &signer, owner: &signer, alice: &signer,) { // test logic}What changes from the EVM workflow
Section titled “What changes from the EVM workflow”- 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.