함수가 클래스 내부에 있고 단위 테스트에서 함수가 계산되면 오류가 발생합니다. 어떻게 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
계산 ✕ 두 수의 정확한 합이다 (3MS) ✕ 두 수의 정확한 빼기 (이 1ms)
테스트 스위트 : 1 실패, 1 개 총 테스트 : 2 실패 2 총 스냅 : 0 총 시간 : 0.818 초, 예상 1 초 모든 테스트 스위트를 실행하십시오. npm ERR! 검사가 실패했습니다. 자세한 내용은 위를 참조하십시오.
● 계산> 두 숫자의 정확한 합이 입니다. TypeError : 'sum'속성을 읽을 수 없습니다. 정의되지 않음 Object에서. doResolve (node_modules/promise/lib/core.js : 200 : 13)에서 (__tests __/calculation.test.js : 8 : 14) tryCallTwo (node_modules/promise/lib/core.js : 45 : 5) 새로운 약속하는 (node_modules/약속/LIB/core.js : 66 : 3)에 tryCallOne (node_modules/약속/LIB/core.js : 37 : 12) node_modules/약속/LIB/core.js에서 123 : 15 ● 계산> 두 숫자의 올바른 뺄셈은 –
입니다. npm 테스트를 실행하면 오류가 발생합니다. 위의 모든 파일을 포함합니다. @ 니콜라스 타워. –
result.sum1 및 result.sub1 변경 후 여기에서 같은 오류가 발생합니다. @Nicholas Tower –