chai-asserttype

a chai plugin for type assertions, support typescript

安裝

npm install chai chai-asserttype-extra

安裝為 chai 外掛

const ChaiPluginAssertType = require('chai-asserttype-extra');
import ChaiPluginAssertType = require('chai-asserttype-extra');
import ChaiPluginAssertType from 'chai-asserttype-extra';
import { ChaiPlugin as ChaiPluginAssertType } from 'chai-asserttype-extra';

選擇你喜歡的方式

當使用 .install 時,會嘗試讓目前的 chai 支援 TypeScript 中的新方法,而無需使用 @ts-ignore

const chai = ChaiPluginAssertType.install();
const chai = ChaiPluginAssertType.install(require('chai'));
const chai = require('chai-asserttype-extra').install()
const chai = require('chai');
chai.use(ChaiPluginAssertType);
const chai = require('chai');
chai.use(ChaiPluginAssertType);

用法

此用法複製自 GaneshSPatil/chai-asserttype

同時支援 .xxx().xxx

ChaiPluginAssertType.list()

console.log(ChaiPluginAssertType.list());
/*
[ 'array',
  'boolean',
  'date',
  'float',
  'function',
  'integer',
  'null',
  'number',
  'object',
  'regexp',
  'string',
  'undefined' ]
*/

Number

斷言 actual 的類型為 Number。

expect(1).to.be.number();
expect(0).to.be.number();
expect(-1).to.be.number();
expect(63465789908753).to.be.number();
expect(27.11).to.be.number();

expect(1).to.be.number;
expect(0).to.be.number;
expect(-1).to.be.number;
expect(63465789908753).to.be.number;
expect(27.11).to.be.number;

integer (整數)

expect(27).to.be.integer();
expect(27).to.be.integer;

float (浮點數)

expect(27.11).to.be.float();
expect(27.11).to.be.float;

String

斷言 actual 的類型為 String。

expect('').to.be.string();
expect('foobar').to.be.string();

Boolean

斷言 actual 的類型為 Boolean。

expect(true).to.be.boolean();
expect(false).to.be.boolean();

Object

斷言 actual 的類型為 Object。

expect({}).to.be.object();

Array

斷言 actual 的類型為 Array。

expect([]).to.be.array();
expect([1, 2, 3]).to.be.array();

Date

斷言 actual 的類型為 Date。

expect(new Date()).to.be.date();

Function

斷言 actual 的類型為 Function。

expect(() => true).to.be.function();