应该js断言是错误的?
should js assertion is wrong?
我正在使用 should.js && mocha 作为构建应用程序的测试框架。
我正在为 API 方法返回 'true',我发现 should.js 接受一切为真,但事实并非如此。
我设置了以下测试:
describe('Login', function(){
it('Should login and return true', function(done){
isTrue().should.be.true;
done();
});
});
function isTrue()
{
return 'false';
}
Powershell + mocha 结果是:
PS C:\Dev\project> mocha --grep logi*
Login
√ Should login and return true
1 passing (27ms)
我是不是漏掉了什么?
您忘记触发断言:
isTrue().should.be.true();
^--- here
如果我们检查 should.js
source code 我们将看到
should.be.true
是在 true
(布尔值)准确返回(与 'true'
字符串不同)时实现。
Assertion.add('true', function() {
this.is.exactly(true);
});
我正在使用 should.js && mocha 作为构建应用程序的测试框架。
我正在为 API 方法返回 'true',我发现 should.js 接受一切为真,但事实并非如此。
我设置了以下测试:
describe('Login', function(){
it('Should login and return true', function(done){
isTrue().should.be.true;
done();
});
});
function isTrue()
{
return 'false';
}
Powershell + mocha 结果是:
PS C:\Dev\project> mocha --grep logi*
Login
√ Should login and return true
1 passing (27ms)
我是不是漏掉了什么?
您忘记触发断言:
isTrue().should.be.true();
^--- here
如果我们检查 should.js
source code 我们将看到
should.be.true
是在 true
(布尔值)准确返回(与 'true'
字符串不同)时实现。
Assertion.add('true', function() {
this.is.exactly(true);
});