带 Mocha/Chai 的单元测试条件 if/else 语句
Unit testing conditional if/else statements w/ Mocha/Chai
快速提问,我在网上找不到任何关于使用几个 if/else 语句测试简单函数的文档,例如这个 fizzBuzz 示例...
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;
}
}
}
这是我的柴...
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');
})
})
})
检查每个 if/else 语句的语法是什么?我想检查以确保在某些条件下,函数 returns 是一个字符串,而其他函数 returns 是一个数字。以及当它 returns 一个字符串时,它是否匹配应该返回的单词。我对 Mocha/Chai 很陌生。
提前谢谢大家,
布列塔尼
例如:
it('Pass param 5 should return \'BUZZ\'', function() {
expect(fizzBuzz(5)).to.equal('BUZZ');
});
快速提问,我在网上找不到任何关于使用几个 if/else 语句测试简单函数的文档,例如这个 fizzBuzz 示例...
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;
}
}
}
这是我的柴...
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');
})
})
})
检查每个 if/else 语句的语法是什么?我想检查以确保在某些条件下,函数 returns 是一个字符串,而其他函数 returns 是一个数字。以及当它 returns 一个字符串时,它是否匹配应该返回的单词。我对 Mocha/Chai 很陌生。
提前谢谢大家,
布列塔尼
例如:
it('Pass param 5 should return \'BUZZ\'', function() {
expect(fizzBuzz(5)).to.equal('BUZZ');
});