Move 单元测试
unit.move
module 0x2::unit { #[test_only] use std::signer; // no parameter #[test] public fun unit_test_add() { let a = 1; let b = 2; assert!( add_test(a, b) == 3, 100); } // a parameter #[test(sender = @0xC0FFEE)] public fun unit_test_arg( sender: signer) { assert!( signer::address_of(&sender) == @0xC0FFEE, 100) } // more parameters #[test(sender1 = @0xC0FFEE, sender2 = @0xCAFE)] fun uint_test_args(sender1: signer, sender2: signer) { assert!(signer::address_of(&sender1) == @0xC0FFEE, 100); assert!(signer::address_of(&sender2) == @0xCAFE, 101); } #[test_only] public fun add_test(a: u64, b:u64) :u64 { return a + b } // fail to pass #[test] #[expected_failure] public fun unit_test_fail() { abort 1 } }
move test unit::unit_test_fail
move test -g