関数がクラスの内部にあり、ユニットテストが関数を計算すると、私に何らかのエラーが発生します。どのように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);
});
})。
エラーが> 2つの数の正しい合計が
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
●計算で> 2数の正しい減算が
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
●計算>正しい減算され...
●計算であります2つの数字の合計は
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
計算 ✕2数の正しい合計である(3MS) ✕2数の正確な減算は、(1ミリ秒)
テストスイート:1が失敗した、1つの合計 試験:2に失敗し、2合計 スナップショット:0合計 時間:0.818秒、推定1秒 すべてのテストスイートを実行します。 npm ERR!テストに失敗しました。詳細は上記を参照してください。
●計算> 2数の正しい合計が TypeError例外です:オブジェクトで 未定義のプロパティ 『合計』を読み込めません。 doResolve(node_modules/promise/lib/core.js:200:13)の(__tests __/calculation.test.js:8:14) をtryCallTwo(node_modules/promise/lib/core.js:45:5) にします。 の新しいPromise(node_modules/promise/lib/core.js:66:3) のtryCallOne(node_modules/promise/lib/core.js:37:12) at node_modules/promise/lib/core.js:123 :15 ●計算> 2つの数値の正しい減算は –
です。コマンドnpm testを実行すると、このようなエラーが発生します。上記のすべてのファイルが含まれます。 @ニコラスタワー。 –
result.sum1とresult.sub1の変更後に同じエラーが発生しました。 @Nicholas Tower –