首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >覆盖:分支和路径覆盖测试用例

覆盖:分支和路径覆盖测试用例
EN

Stack Overflow用户
提问于 2018-03-30 02:48:55
回答 2查看 1.9K关注 0票数 0

我需要以这样一种方法实现除以零操作:(1)不显示每个路径覆盖率达到100%的​测试套件,以及(2)创建一个分支覆盖率达到100%并且​不显示故障的测试套件是可能的。

由于除以零是非常简单的操作,我想知道这个方法的实现,以便这两个需求可以是错误的( met.Currently ),我不能这样做,因为我的分支和路径覆盖测试用例都揭示了一个错误(ArithmeticException)并且是相同的。

这是我当前的代码,但它是错误的。

代码语言:javascript
运行
复制
void method1(int m, int n)
         int p = m / n;
         if (n != 0) {
         System.out.println("Print some value");
         }
         if (n == 0) {
         System.out.println("Infinity");
         }
         return p;

谢谢

EN

回答 2

Stack Overflow用户

发布于 2019-06-23 16:36:35

好吧,我想这只是一个练习,所以人们可以做一些非常愚蠢的事情,就像这样:

代码语言:javascript
运行
复制
double method1(int m, int n) {
     double p;
     if (n >= 0) {
         p = m / n;
     } else {
         p = m / n;
     }

     if (n > 0) {
         p = m / n;
     } else {
         p = m / n;
     }

     return p;
}

以这种方式,如果您有完整的路径覆盖,那么您必须已经覆盖了在第一个条件中进入n >= 0分支并在第二个条件中进入n <= 0分支的路径。因此,每个100%路径覆盖套件都必须在某些测试用例中使用n = 0,这会抛出一个ArithmeticException,就像它在代码中所做的那样,因此该方法的缺陷就会暴露出来。

另一方面,您只需要(比方说) n = 1n = -1测试用例来实现完整的分支覆盖(诚然,这是愚蠢的测试套件),但是您完全忽略了零除部分。然而,我并没有对此进行测试。

票数 0
EN

Stack Overflow用户

发布于 2018-03-30 03:00:05

首先检查除数是否等于0,然后返回或抛出异常。等着被0除以,而你知道这是一种真正的可能性,这不是一个好的做法。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49563130

复制
相关文章

相似问题

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