Function Test使用指南
Function Test使用指南

Functional Test使用指南

Funtional Test

Functional Test是一个Move的测试工具。

使用指南

全局配置

配置参数由account:开头,后续参数按顺序配置,参数间只能用,分割,注意余额和币类型是一个参数,用空格分割。

参数说明是否必须
1昵称Y
2指定测试地址,必须0x开头N
3余额 币类型,默认为STCN
4SequenceNumberN
//! account: alice, 0x07fa08a855753f0ff7292fdcbe871216, 10000 0x1::STC::STC, 100

//! account: bob, 10000 0x1::STC::STC

出块模拟 block-prologue

//! block-prologue

//! new-transaction

//! author: genesis 

//! block-number: 2

//! block-time: 87000000
参数说明
author出块用户
block-number块号
block-time出块时间,会影响Timestap获取的时间

交易配置表

//! new-transaction

//! sender: alice

//! max-gas: 20000

//! sequence-number:100
参数说明
new-transaction是否开启新交易
sender交易发起用户
args参数
max-gas最大gas
gas-pricegas价格
sequence-number序列号
expiration-time过期时间

Directives Check

// check: EXECUTED

or

// check: Abc

or

// check: not EXECUTED

注意事项

  1. use时不支持写{{address}}语法,例如
//! new-transaction

//! sender: alice

address alice = {{alice}}; //执行成功

address liquidier = {{liquidier}};

script {

    use alice::TokenMock::{Usdx};  //正常执行

    use {{alice}}::TokenMock::{Usdx}; //会报错

    fun do_test(){

       xxx;

    }

 }
  1. 每个new-transaction会开启一个交易,同时在VM的输出中有对应的交易执行全过程,排查问题可以依据交易的顺序定位到交易的位置。