mocha写测试用例对错误case的评估和测试

在写测试用例的时候,通常是测试成功场景的预期,例如我上一篇中的分页测试:

it('success to test lottery history first paging', function(done) {
            async.series({
                action: function(callback) {
                    base.get('/api/activity/lottery/winner?page=1&limit=1', {
                        token: 'basic-valid'
                    }).then(function(results) {     //进入api之后的场景
                        assert.equal(results.result.length, 1);
                        assert.equal(results.result[0].id, firstReplyId);
                        done();
                    }, function(err) {    //进入api失败的场景
                        console.error(err);
                        callback(new Error('can not get lottery history first paging'));
                    });
                }
            }, function(err, results) {
                done(err);
            });
        });

这其中对成功和失败分别进行了描述和预期。 


那么,当我们要测试api不能访问的时候的场景呢? 比如说token不存在或者无效&&id什么的不正确 ?

这时候的测试用例对成功和失败的描述和测试就会有所不同:

it('failed to get lottery history without token', function(done){
            async.series({
                action: function(callback){
                    base.queryAll('/api/activity/lottery/winner', {token: 'basic-none'})   // 没有token
                    .then(function() {      //当你们有token,但是访问竟然成功了,这显然是个错误
                        callback(new Error("should not get lottery history"));
                    }, function(err){    //没有token访问api失败才是正常的
                        done();
                    });
                }
            }, function(err, results){
                done(err);
            });
        });

此时,在访问api成功的时候,这其实是我们预期的错误,这个时候我们的回调应该是一个错误;在访问api失败的时候,这才是我们预期的正常情况,回调应该是成功的相应函数。即:失败才是正确的。


所以,在测试的时候,不能一味的看执行成功与否来进行测试,一定要明确自己的预期才能做出正确的测试用例。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值