gpt4 book ai didi

java - 我应该为以下功能编写哪些单元测试用例?另外,如何提供示例 JSONobject 作为函数中的参数?

转载 作者:行者123 更新时间:2023-12-01 21:47:56 24 4
gpt4 key购买 nike

这是我想要进行单元测试的函数。我正在 android 中编写此内容,因为 JSONObject 是一个 android 类,所以我无法启动,我只能模拟,但我也想测试有示例 JSON 并且它提供正确结果或异常的情况(如果示例不正确) JSON)

public List<GithubRepositorySchema> parseAndReturnGithubRepositorySearchResponse(JSONObject response) throws Exception {
List<GithubRepositorySchema> githubRepositorySchemas = new ArrayList<>();
if (response.has("items")) {
JSONArray items = response.getJSONArray("items");
for (int i = 0; i < items.length(); i++) {
JSONObject repoObj = items.getJSONObject(i);
githubRepositorySchemas.add(new GithubRepositorySchema(
repoObj.getString("name"),
repoObj.getBoolean("private"),
repoObj.getString("description"),
repoObj.getString("language"),
repoObj.getInt("forks_count"),
repoObj.getInt("open_issues"),
repoObj.getInt("watchers")
));
}
} else {
throw new JSONException("Incorrect Json");
}

return githubRepositorySchemas;
}

最佳答案

您的测试用例可以是:1.使用单个项目JSON进行测试,断言该对象具有相同的属性2. 多项目JSON,检查对象的属性3. 在没有“items”的情况下进行测试,看看你的方法是否抛出异常4. 玩弄对象的各个键。我注意到您没有对对象使用类似的 has"key"检查。这是单元测试实际上可以暴露代码中的错误的一个领域。

编辑:您可以通过构造函数构建 JSONObject 并向其中添加对象,就像 Map 一样。查一下。

我不建议编写这段代码。有很多解析器(Gson、Moshi、Jackson)可以免费执行此操作。

关于java - 我应该为以下功能编写哪些单元测试用例?另外,如何提供示例 JSONobject 作为函数中的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58776498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com