基于 Mocha 运行测试用例,使用断言库 Chai
1、参考:在 重构:改善既有代码的设计 (第2版) 中,基于 Mocha 运行测试用例 。
2、Mocha 允许您使用任何您想要的断言库。 在上面的例子中,我们使用了 Node.js 的内置断言模块。计划切换为使用断言库 Chai。
3、参考:https://mochajs.org/#assertions 。断言库 Chai支持 expect()、assert() 和 should 风格的断言。如图1
4、执行命令:npm install chai ,安装 Chai。如图2
PS E:\wwwroot\refactoring> npm install chai added 8 packages, and audited 86 packages in 11s 20 packages are looking for funding run `npm fund` for details found 0 vulnerabilities
5、编辑测试文件 test/province.js
import {Province} from '../4/modules/province.js';
import chai from 'chai';
function sampleProvinceData() {
return {
name: "Asia",
producers: [{name: "Byzantium", cost: 10, production: 9}, {
name: "Attalia",
cost: 12,
production: 10
}, {name: "Sinope", cost: 10, production: 6},],
demand: 30,
price: 20
};
}
var expect = chai.expect;
describe('province', function() {
it('shortfall', function() {
const asia = new Province(sampleProvinceData());
expect(asia.shortfall).equal(5);
});
it('profit', function() {
const asia = new Province(sampleProvinceData());
expect(asia.profit).equal(230);
});
});
6、运行测试,测试通过。如图3
PS E:\wwwroot\refactoring> npm test
> test
> mocha
province
√ shortfall
√ profit
2 passing (13ms)



近期评论