【发布时间】:2018-02-25 06:03:12
【问题描述】:
当函数在类和单元测试中时,函数计算它会给我一些错误。如何使用 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
计算 ✕ 两个数的正确和是(3ms) ✕ 两个数的正确减法是 (1ms)
测试套件:1 个失败,总共 1 个 测试:2 次失败,共 2 次 快照:共 0 个 时间:0.818s,估计1s 运行所有测试套件。 npm 错误!测试失败。有关详细信息,请参见上文。
【问题讨论】:
-
● 计算 › 两个数字的正确总和是 TypeError: Cannot read property 'sum' of undefined at Object.
(__tests__/calculation.test.js:8:14) at tryCallTwo (node_modules /promise/lib/core.js:45:5) 在 doResolve (node_modules/promise/lib/core.js:200:13) 在新 Promise (node_modules/promise/lib/core.js:66:3) 在 tryCallOne (node_modules/promise/lib/core.js:37:12) 在 node_modules/promise/lib/core.js:123:15 ● 计算 › 两个数的正确减法是 -
运行命令 npm test 然后它给出这样的错误。我将包括上面的所有文件。 @尼古拉斯大厦。
-
在更改 result.sum1 和 result.sub1 后出现同样的错误。 @尼古拉斯大厦
-
不要将更多信息放入 cmets。始终更新您的问题。或者你能读一下你在第一条评论中写下的内容吗?
-
感谢@GhostCat 的建议。
标签: javascript tdd jestjs