我很好奇如何测试一个值
是一个string
或 number
with Chai
。我知道如何为 string
或 number
编写严格测试。但是当 value
可能是其中之一时如何处理呢?
字符串测试:
describe("test", () => {
it("should be a string", () => {
let value = "1234";
value.should.be.a("string");
});
});
数字测试:
describe("test", () => {
it("should be a number", () => {
let value = 1234;
value.should.be.a("number");
});
});
是否有 chai
的内置方法来执行此操作?
我知道我可以采取一些变通办法,如下所示。但这感觉有点hacky。
describe("test", () => {
it("should be a number or string", () => {
let value = 1234;
(typeof value).should.be.oneOf(["string", "number"]);
});
});
最佳答案
您可以编写自己的方法:
chai.Assertion.addMethod('stringOrNumber', function () {
//Check if it is a string or a number here
});
然后在你的测试中:
expect(myValue).to.be.stringOrNumber();
关于javascript - 检查 value 是 mocha/chai 测试中的字符串还是数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42928928/