如何使用TDD单元测试此功能?
问题描述:
当函数在类和单元测试函数计算它给我一些错误。如何使用TDD测试计算函数?请帮帮我。如何使用TDD单元测试此功能?
1.calculation.js
export default class calculation {
static calculate(a, b) {
var sum1 = this.addition(a, b);
var sub1 = this.subtract(a, b);
return {
sum1: sum1,
sub1: sub1
};
}
static addition (a, b) {
var sum = a + b;
return sum;
}
static subtract (a, b) {
var sub = a - b;
return sub;
}
}
2.calculation.test.js
const calculate = require('../app/calculation');
describe('calculation',() => {
let result;
beforeEach(() => {
result = calculate.calculate(100, 50);
});
it('correct sum of two number is',() => {
expect(result.sum1).toBe(150);
});
it('correct subtract of two number is',() => {
expect(result.sub1).toBe(50);
});
});
错误是...
●计算>两个号码是否正确总和
TypeError: Cannot read property 'sum1' of undefined
at Object.<anonymous> (__tests__/calculation.test.js:8:14)
at tryCallTwo (node_modules/promise/lib/core.js:45:5)
at doResolve (node_modules/promise/lib/core.js:200:13)
at new Promise (node_modules/promise/lib/core.js:66:3)
at tryCallOne (node_modules/promise/lib/core.js:37:12)
at node_modules/promise/lib/core.js:123:15
●计算>两个数相减正确是
TypeError: calculate.calculate is not a function
at Object.<anonymous> (__tests__/calculation.test.js:5:18)
at tryCallTwo (node_modules/promise/lib/core.js:45:5)
at doResolve (node_modules/promise/lib/core.js:200:13)
at new Promise (node_modules/promise/lib/core.js:66:3)
at tryCallOne (node_modules/promise/lib/core.js:37:12)
at node_modules/promise/lib/core.js:123:15
●计算>正确的减法的两个数字是
TypeError: Cannot read property 'sub1' of undefined
at Object.<anonymous> (__tests__/calculation.test.js:11:14)
at tryCallTwo (node_modules/promise/lib/core.js:45:5)
at doResolve (node_modules/promise/lib/core.js:200:13)
at new Promise (node_modules/promise/lib/core.js:66:3)
at tryCallOne (node_modules/promise/lib/core.js:37:12)
at node_modules/promise/lib/core.js:123:15
计算 ✕两个数目正确和是(3毫秒) ✕两个数正确减为(1毫秒)
测试套件:1失败,1个总 测试:2失败,2总 快照:0总 时间:0.818s,估计1s 跑完所有测试套件。 npm ERR!测试失败。参见上面的更多细节。
答
+0
谢谢@bamse –
●计算>两个号码是否正确总和 类型错误:在对象不能读取的不确定 财产‘总和’。在doResolve(node_modules/promise/lib/core.js:200:13)处,在tryCallTwo(node_modules/promise/lib/core.js:45:5) 处运行(__tests__/calculation.test.js:8:14) (node_modules/promise/lib/core.js:66:3) at tryCallOne(node_modules/promise/lib/core.js:37:12) at node_modules/promise/lib/core.js:123 :15 ●计算>正确减去两个数字是 –
运行命令npm test然后给出这样的错误。我将包括上面的所有文件。 @尼古拉斯塔。 –
更改result.sum1和result.sub1后,此处出现同样的错误。 @尼古拉斯塔 –