java - 简单二次方程的 JUnit 测试

标签 java junit

我知道它看起来很原始,但我应该制作一个java程序来计算二次方程的根并使其尽可能简单(即可读)并为其编写一个测试。

显然我已经得到了该程序,但我以前从未进行过 JUnit 测试,并且我不确定如何开始编写这样的程序:

if(a != 0) { 
    if(delta > 0) { 
        x1 = ((-b)-deltas)/(2*a);
        x2 = ((-b)+deltas)/(2*a);
        System.out.println("x1=" + x1 + "\n" + "x2=" + x2);
    } else if(delta == 0) { 
        x1 = (-b)/(2*a);
        System.out.println("x1=" + x1);
    } else { 
        System.out.println("No real roots.");
    }
} else {
    System.out.println("Error: division by zero.");
}

Deltas 显然是 delta 的平方根。

我被告知测试应该包含所有情况 (4) 的示例,但到目前为止我发现的所有内容都需要创建其他类等。

我什至不知道是否应该使用 try catch,还是其他什么?

最佳答案

  1. 创建一个函数。例如int[] rootOfQuadraticEquation(int a, int b, int c) 或类似的东西。返回根并删除所有 System.out.println。您可以在客户端功能中打印结果。
  2. 实现parameterized test 。每个测试数据元素应包含 abcexpectedResults
  3. 运行测试。

您可以考虑使用TDD下次。

关于java - 简单二次方程的 JUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28261633/

相关文章:

java - 如何合并两个流?

java - 使用 IBM MobileFirst Platform Foundation 生成的 Android 应用程序中的单元测试 Java 代码

android - 如何从 Activity 中获取菜单引用

java - 在初始化期间修改静态变量的单元测试

java - 比较 float 及其副本

java - 在CS151(第二编程类)中,需要设置一个Object等于一个int Java

java - 如何为outputStream.write IO IOException编写junit测试

java - 枚举 toString 上的 ClassCastException

java - 如何在 jFreeChart TimeSeries 中开始和结束值 "0"的每个系列?

java - 如何获取当前状态对应的按钮图标?