如何在 JavaScript 中实现断言?
How do I implement assertions in JavaScript?
我想使用断言来检查我的私有方法(以及其他只能在内部调用的方法)中的无效参数。我更喜欢:
- 失败的断言会终止程序,或者至少会停止我的自动化测试。
console.assert()
似乎没有这样做。
- 可以在生产部署期间删除断言(我正在使用 Grunt)。
- 一个非常简单的解决方案(不需要库来完成)。
编辑:
我不想在这里测试任何东西。如果我这样做的动机不清楚,请查看 CC2 或 Clean Code 或 Wiki 页面:https://en.wikipedia.org/wiki/Assertion_(software_development)
类似的东西?
const assert = env === "production"
? () => {}
: (test, msg) => {
if (!test) throw new Error(`assertion failed: ${msg}`);
};
// ...
function foo(param) {
assert(typeof param === "number", "param is a Number");
}
我想使用断言来检查我的私有方法(以及其他只能在内部调用的方法)中的无效参数。我更喜欢:
- 失败的断言会终止程序,或者至少会停止我的自动化测试。
console.assert()
似乎没有这样做。 - 可以在生产部署期间删除断言(我正在使用 Grunt)。
- 一个非常简单的解决方案(不需要库来完成)。
编辑: 我不想在这里测试任何东西。如果我这样做的动机不清楚,请查看 CC2 或 Clean Code 或 Wiki 页面:https://en.wikipedia.org/wiki/Assertion_(software_development)
类似的东西?
const assert = env === "production"
? () => {}
: (test, msg) => {
if (!test) throw new Error(`assertion failed: ${msg}`);
};
// ...
function foo(param) {
assert(typeof param === "number", "param is a Number");
}