前言
写区块链智能合约离不开单元测试,甚至有些都是测试驱动开发,没有单元测试,没法保证程序可靠性,所以自己开发的,部署到链上的新合约一定要有单元测试保证。所以看一下cairo的单元测试写法。
第一个简单case学习用法
使用scarb 创建
scarb new firstcase
firstcase
├── Scarb.toml
└── src
└── lib.cairo
在lib.cairo中写入如下代码:
#[test]
fn it_works() {
let result = 2 + 2;
assert(result == 4, 'result is not 4');
}
运行测试case: scarb cairo-test
$ scarb cairo-test
testing adder...
running 1 tests
test adder::lib::tests::it_works ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 filtered out;
以上就是一个最简单的测试用例,没有测试任何测试函数,但是学些了测试case的写法,主要的语法要点是: [test] , assert。
assert
和其他语言一样,cairo使用assert,来断言case是否正确。assert接收两个参数, 第一