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