首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >java代码的单元测试

java代码的单元测试
EN

Stack Overflow用户
提问于 2016-01-07 14:25:21
回答 1查看 63关注 0票数 0

我在几行代码中遇到了一些问题,这些代码还没有达到100 %。

代码语言:javascript
复制
if (object== null) {
            errors.reject("some error");
        } 

项目使用Spring及其类org.springframework.validation.Errors,如何对此片段进行单元测试。

我不能测试的第二个片段是这个。

代码语言:javascript
复制
for (int i = 0; i < model.getName().length(); i++) {
                int x = (int) model.getName().charAt(i);
                if (x < 33 || x > 126) {
                    errors.rejectValue("name", "some error");
                    break;
                }
            }

我希望有人能提供帮助:)

编辑:

代码语言:javascript
复制
public void validate() {
if (object== null) {
            errors.reject("some error");
        } 

        if (model.getName().equals("")) {
            errors.rejectValue("name", "some error");
        } else if (model.getName().length() < 6) {
            errors.rejectValue("name", "some error");
        } else if (model.getName().length() > 30) {
            errors.rejectValue("name", "some error");
        } else {
            for (int i = 0; i < model.getName().length(); i++) {
                int x = (int) model.getName().charAt(i);
                if (x < 33 || x > 126) {
                    errors.rejectValue("name", "some error");
                    break;
                }
            }
        }
}
EN

Stack Overflow用户

发布于 2016-01-07 14:30:43

你为什么要得到100%的保险?

@engineer提到What is a reasonable code coverage % for unit tests (and why)?

似乎最有可能的罪魁祸首是branch-coverage不足。这意味着不计算通过if条件(x < 33 || x > 126)的所有可能路径。这是不可能的,因为x永远不会比126大,也不会比33大。

在这样的if条件下,存在4可能的分支。

真<<,这两个条件永远不会同时计算为真。 假/真 假=假 真=假

它只可能覆盖34分支。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34657563

复制
相关文章

相似问题

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