我想测试经常更改的外部DTO。
例:
下面有一个javascript(json)文件。
// javascript
const type User = {
id: Number,
name: String
}
// json
user: {
id: Number,
name: String,
}
此时,外部API响应发生了变化。
// ex1) response (Add)
{
id: Number,
name: String,
age: Number
}
// ex2) response (remove)
{
id: Number
}
// and so on.
我想得到一个失败的结果并更改javascript文件。
在这种情况下,如何测试外部DTO?
换句话说,我希望检查更改的属性。
发布于 2021-08-09 10:44:52
所以让我们假设您有一个api响应和一个用户对象/类
const apiResponse = '{ "id": 1, "name": "someName", "missingProperty": 1 }';
const response = JSON.parse(apiResponse);
const User = {
id: Number,
name: String,
newProperty: Boolean,
}
此验证用于响应中缺少的属性。
for(const key in User) {
if(!(key in response)) {
console.error(`Missing property from response ${key}`);
}
}
此验证是针对用户模型中缺少的属性进行的。
for(const key in response) {
if(key in User) {
if(response[key].constructor === User[key]) {
continue;
}
console.error(`${key} is not proper type, ${response[key].constructor} instead of ${User[key]}`);
}
console.error(`Missing property from model ${key}`);
}
https://stackoverflow.com/questions/68708201
复制相似问题