首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何测试外部DTO?

如何测试外部DTO?
EN

Stack Overflow用户
提问于 2021-08-09 07:20:21
回答 1查看 107关注 0票数 0

我想测试经常更改的外部DTO

例:

下面有一个javascript(json)文件。

代码语言:javascript
运行
复制
// javascript
const type User = {
    id: Number,
    name: String
}

// json
user: {
   id: Number,
   name: String,
}

此时,外部API响应发生了变化。

代码语言:javascript
运行
复制
// ex1) response (Add)
{
    id: Number,
    name: String,
    age: Number
}

// ex2) response (remove)
{
    id: Number
}

// and so on.

我想得到一个失败的结果并更改javascript文件。

在这种情况下,如何测试外部DTO?

换句话说,我希望检查更改的属性

EN

回答 1

Stack Overflow用户

发布于 2021-08-09 10:44:52

所以让我们假设您有一个api响应和一个用户对象/类

代码语言:javascript
运行
复制
const apiResponse = '{ "id": 1, "name": "someName", "missingProperty": 1 }';
const response = JSON.parse(apiResponse);

const User = {
    id: Number,
    name: String,
    newProperty: Boolean,
}

此验证用于响应中缺少的属性。

代码语言:javascript
运行
复制
for(const key in User) {
    if(!(key in response)) {
        console.error(`Missing property from response ${key}`);
    }
}

此验证是针对用户模型中缺少的属性进行的。

代码语言:javascript
运行
复制
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}`);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68708201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档