如何断言不为空?

How to assert not null?

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

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

考虑到您正在使用 Chai,它很受欢迎,这里有一些选项:

Consider "foo" to be the target variable you want to test

断言

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

如果您想使用 assert,您甚至不需要 Chai。就用它吧。 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);

期待

var expect = chai.expect;
expect(foo).to.not.equal(null);
// or
expect(foo).to.not.be.null;

PS:无关但在 Jest 上有一个 toBeNull 函数。你可以做 expect(foo).not.toBeNull();expect(foo).not.toBe(null);

这对我有用(使用 Expect 库和 Mocha):

expect(myObject).toExist('Too bad when it does not.');

以防万一,除了 Mocha 之外,您还使用 Chai:

assert.isNotNull(tea, 'great, time for tea!');