如何断言不为空?

Hos*_*sar 35 javascript mocha.js node.js

我是javascript测试的新手,我想知道如何在Mocha框架中断言not null .

And*_*ena 68

Mocha支持您想要的任何断言库.您可以在这里查看它如何处理断言:http://mochajs.org/#assertions.我不知道你想用哪一个.

考虑到你使用的是非常受欢迎的Chai,这里有一些选择:

将"foo"视为要测试的目标变量

断言

var assert = chai.assert;
assert(foo) // will pass for any truthy value (!= null,!= undefined,!= '',!= 0)
// or
assert(foo != null)
// or
assert.notEqual(foo, null);
Run Code Online (Sandbox Code Playgroud)

如果你想使用assert,你甚至不需要柴.只是使用它.Node本身支持它:https://nodejs.org/api/assert.html#assert_assert

应该

var should = require('chai').should();
should.exist(foo); // will pass for not null and not undefined
// or
should.not.equal(foo, null);
Run Code Online (Sandbox Code Playgroud)

期望

var expect = chai.expect;
expect(foo).to.not.equal(null);
// or
expect(foo).to.not.be.null;
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,因为奇怪的文档除非我错过了它,否则不会声明您可以同时对 null 和未定义检查进行断言(某事)。 (2认同)