Lorsque la fonction est à l'intérieur de la classe et l'unité de test de la fonction calculer, il me donne une erreur. Comment tester la fonction de calcul en utilisant TDD? Aidez-moi, s'il vous plaît.Comment tester cette fonction à l'aide de 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);
});
});
erreur ...
● calcul> somme correcte de deux nombres est
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
● calcul> correct soustraction de deux nombres est
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
calcul de ●> correct soustraction de deux chiffres est
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
calcul ✕ somme correcte de deux nombres est (3ms) ✕ soustraction correcte des deux nombres est (1ms)
des suites de tests: 1 a échoué, total 1 Tests: 2 a échoué, au total 2 instantanés: 0 Total Durée: 0.818s, estimation 1s Ran toutes les suites de tests. npm ERR! Test échoué. Voir ci-dessus pour plus de détails.
calcul ●> somme correcte de deux nombres est TypeError: Impossible de lire la propriété « somme » undefined à l'objet. (__tests __/calculation.test.js: 8: 14) à tryCallTwo (node_modules/prom/lib/core.js: 45: 5) à doResolve (node_modules/promise/lib/core.js: 200: 13) à la nouvelle promesse (node_modules/promise/lib/core.js: 66: 3) à tryCallOne (nodules_modules/promesse/lib/core.js: 37: 12) à node_modules/promise/lib/core.js: 123 : 15 ● calcul> soustraction correcte de deux nombre est –
exécuter le test npm de commande puis il donner une telle erreur. Je vais inclure tous les fichiers ci-dessus. @ Nicholas Tower. –
même erreur ici après le résultat result.sum1 et result.sub1. @Nicholas Tower –