以太坊开发:用mocha做测试

1. 安装mocha:

npm install mocha –save-dev

2. 编写求和函数的脚本sum.js:

(这次的全部操作仍然在上一篇博客所创建的目录下进行。)

jiahuan@ubuntu:~/project/contract_workflow$ vi sum.js

sum.js的内容:

module.exports = function(...rest){
        var sum = 0;
        for(let i of rest){
                sum += i;
        }
        return sum;
}

3. 编写针对sum.js的测试脚本testSum.js:

jiahuan@ubuntu:~/project/contract_workflow$ vi testSum.js
jiahuan@ubuntu:~/project/contract_workflow$ cat testSum.js 
const assert = require('assert');
const sum = require('./sum.js')

assert.strictEqual( sum(), 0);
assert.strictEqual( sum(1), 1);
assert.strictEqual( sum(1,2), 3);
assert.strictEqual( sum(1,2,3), 6);

log("All assert passed.")

4.执行测试脚本:

jiahuan@ubuntu:~/project/contract_workflow$ node testSum.js 
All assert passed.

5. 修改测试脚本,采用mocha方法:

我们发现,单独写一个 testSum.js 的缺点是没法自动运行测试,而且,如果第一个 assert报错,后面的测试也执行不了了。如果有很多测试需要运行,就必须把这些测试全部组织起来,然后统一执行,并且得到执行结果。这就是我们为什么要用 mocha 来编写并运行测试。

(一)修改测试脚本:

jiahuan@ubuntu:~/project/contract_workflow$ vi testSum.js
jiahuan@ubuntu:~/project/contract_workflow$ cat testSum.js 
const assert = require('assert');
const sum = require('./sum.js')

describe('#sum.js',()=>{
	describe('#sum(),()=>{
		it('sum() should return 0',()=>{
			assert.strictEqual(sum(),0);			
		});
		it('sum(1) should return 1',()=>{
                        assert.strictEqual(sum(1),1);
                });
		it('sum(1,2) should return 3',()=>{
                        assert.strictEqual(sum(1,2),3);
                });
		it('sum(1,2,3) should return 6',()=>{
                        assert.strictEqual(sum(1,2,3),6);
                });
	}');
});

(二)使用mocha进行测试:

jiahuan@ubuntu:~/project/contract_workflow$ ./node_modules/mocha/bin/mocha testSum.js
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值