gpt4 book ai didi

typescript @types/chai - 你如何使用 Chai.Assertion?

转载 作者:行者123 更新时间:2023-12-04 13:46:42 32 4
gpt4 key购买 nike

我正在尝试在 typescript 中使用 chai,但我无法让任何断言按预期工作。

包.json

"dependencies": {
"@types/chai": "^4.0.1",
"@types/mocha": "^2.2.41",
"chai": "^4.1.0",
"mocha": "^3.4.2",
"typescript": "2.4.2"
}

所有这些都会发出编译器错误:
import * as chai from 'chai';
const expect = chai.expect;
const assert = chai.assert;

const expect = chai.expect;
expect(myVar).to.be.empty();
expect(myVar).to.be.empty;
expect(myVar).to.be.undefined();
expect(myVar).to.be.undefined;

如果我尝试直接导入断言 - 我没有将 empty() 视为有效的断言:
const assert = chai.assert;
assert.empty??? not there?

欢迎任何想法。

谢谢 - 乍得

快速解答

Shaun 在下面指出 - 将导入更改为:
import { assert, expect } from 'chai';

谢谢肖恩

最佳答案

不幸的是,类型不包括 isEmpty(...)assert ;那个will probably change for 4.0.3 .同时,我们可以投assert as any并调用 isEmpty(...)在那。

安装类型后,这可能对您有用:

import chai = require("chai");
const assert = chai.assert;
const expect = chai.expect;

expect("").to.be.empty;
expect(undefined).to.be.undefined;
(assert as any).isEmpty("");

另一种选择是在导入时解构:
import { assert, expect } from "chai";

expect("").to.be.empty;
expect(undefined).to.be.undefined;
(assert as any).isEmpty("");

这是它们在 VSCode 中的样子。

enter image description here

关于 typescript @types/chai - 你如何使用 Chai.Assertion?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45603637/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com