在 Typescript 中为负面测试创建无效 JSON
create invalid JSON for negative test in Typescript
我发现很难绕过 TS(神奇的)静态类型来创建一些无效数据以输入到负面测试用例。
我正在尝试修复可以从客户端传递无效 JSON(值中的双引号)的错误。我已将其修复,但希望在单元测试中确定这一点。
所以我想调用一些无效的方法JSON来检查错误数据是否会被拒绝。
postId: "1234",
comment: "an invalid "comment"
};
谁能帮我想办法写测试数据来复制无效的JSON?
//ts-ignore
对我没有帮助。我知道我错过了一些明显的东西。 TIA
将 args
解析为 JSON 将始终计算为真,因为 JS 对象是 JSON 可序列化的。因此,您可以将函数修改为以下内容,它应该可以完成工作。
function acceptComment(args: MyBespokeMutationArgsType): boolean {
if (!isJsonString(`{ "comment": "${args.comment}" }`)) return false;
console.log("comment will be processed");
return true;
}
说到传递无效输入,您可以使用模板字符串。
const input = {
postId: "1234",
comment: `valid "comment`
};
我发现很难绕过 TS(神奇的)静态类型来创建一些无效数据以输入到负面测试用例。
我正在尝试修复可以从客户端传递无效 JSON(值中的双引号)的错误。我已将其修复,但希望在单元测试中确定这一点。
所以我想调用一些无效的方法JSON来检查错误数据是否会被拒绝。
postId: "1234",
comment: "an invalid "comment"
};
谁能帮我想办法写测试数据来复制无效的JSON?
//ts-ignore
对我没有帮助。我知道我错过了一些明显的东西。 TIA
将 args
解析为 JSON 将始终计算为真,因为 JS 对象是 JSON 可序列化的。因此,您可以将函数修改为以下内容,它应该可以完成工作。
function acceptComment(args: MyBespokeMutationArgsType): boolean {
if (!isJsonString(`{ "comment": "${args.comment}" }`)) return false;
console.log("comment will be processed");
return true;
}
说到传递无效输入,您可以使用模板字符串。
const input = {
postId: "1234",
comment: `valid "comment`
};