NodeJS之单体测试

想必单体测试绝大多数开发人员都不陌生了吧,单体测试是对软件中的基本组成单位进行测试。目的是检验软件基本组成单位的正确性。在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试,测试重点是系统的模块,包括子程序的正确性验证等。

单体测试的好处
  • 在快速的迭代开发中,保证代码正常运行
  • 如果想进行代码重构,可以大胆重构
  • 看到自己写的代码,测试都能通过,有种安心感
  • 最最重要的是可以保证制品的质量
单体测试的原则
  • 写case时,以式样为依据,不以代码为基准
  • 测试过程中不能更改源代码,不能在既有db环境中进行测试
  • 所有case执行完后,确保DB的初期值没有被改变
  • 一个case的测试代码,只运行一个case
  • 测试代码提交时,确保所有case都能跑通。且多次结果都一致
  • case中有更新或插入DB数据时,需要验证更新或插入后的结果的每个字段
  • 每个case中的往DB中写入的数据,在case执行完后要清空

这次为大家介绍一下Jest

  • 安装
npm install --save-dev jest
  • 创建sum.js
function sum(a, b) {
  return a + b;
}
module.exports = sum;
  • 创建sum.test.js
const sum = require('./sum');

test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});
  • 添加到package.json
{
  "scripts": {
    "test": "jest"
  }
}
  • 通过npm test运行测试case
PASS  ./sum.test.js
✓ adds 1 + 2 to equal 3 (5ms)

其实,测试方式分为两种,但是一般在实际开发中都会使用BBD来进行测试。

// TDD
suite('Array', function() {
  setup(function() {
  });

  test('equal -1 when index beyond array length', function() {
    assert.equal(-1, [1,2,3].indexOf(4));
  });
});

// BDD
describe('Array', function() {
  before(function() {
  });

  it('should return -1 when no such index', function() {
    [1,2,3].indexOf(4).should.equal(-1);
  });
});

语法是这样的:

describe('要测试的函数名', function(){
//测试case
it('case描述',()=>{
	});
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值