Functional Test使用指南
Funtional Test
Functional Test是一个Move的测试工具。
使用指南
全局配置
配置参数由account:
开头,后续参数按顺序配置,参数间只能用,
分割,注意余额和币类型是一个参数,用空格分割。
参数 | 说明 | 是否必须 |
---|---|---|
1 | 昵称 | Y |
2 | 指定测试地址,必须0x开头 | N |
3 | 余额 币类型,默认为STC | N |
4 | SequenceNumber | N |
//! 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-price | gas价格 |
sequence-number | 序列号 |
expiration-time | 过期时间 |
Directives Check
// check: EXECUTED
or
// check: Abc
or
// check: not EXECUTED
注意事项
- 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;
}
}
- 每个new-transaction会开启一个交易,同时在VM的输出中有对应的交易执行全过程,排查问题可以依据交易的顺序定位到交易的位置。