2017-08-04 4 views
0

question rapide, je ne peux pas trouver toute la documentation en ligne en ce qui concerne le test d'une simple fonction avec plusieurs if/else, comme cet exemple FizzBuzz ...tests unitaires conditionnelle if/else w/Mocha/Chai

module.exports = 
function fizzBuzz(num) { 
    for (let i; i <= num; i++) { 
     if (i % 3 === 0 && i % 5 === 0) { 
      return 'FIZZBUZZ'; 
     } else if (i % 3 === 0) { 
      return 'FIZZ'; 
     } else if (i % 5 === 0) { 
      return 'BUZZ'; 
     } else { 
      return 'Your number is' + i; 
     } 
    } 
} 

Voici mon Chai ...

const assert = require('chai').assert; 
const expect = require('chai').expect; 
const fizzBuzz = require('../fizzBuzz.js'); 

describe.only('fizzBuzz', function() { 
    describe('Smoke tests', function() { 
     it('should exist', function() { 
      expect(fizzBuzz).to.exist; 
     }) 
     it('Should be a function', function() { 
      expect(fizzBuzz).to.be.a('function'); 
     }) 
    }) 
}) 

Quelle serait la syntaxe pour vérifier chaque instruction if/else? Je voudrais vérifier pour s'assurer que sur certaines conditions, la fonction renvoie une chaîne, et d'autres renvoie un nombre. De même que lorsqu'il renvoie une chaîne, correspond-il au mot qui doit être retourné. Je suis très nouveau à Mocha/Chai.

Nous vous remercions d'avance les gars dans,

Bretagne

Répondre

0

Par exemple:

it('Pass param 5 should return \'BUZZ\'', function() { 
    expect(fizzBuzz(5)).to.equal('BUZZ'); 
});