我知道它看起来很原始,但我应该制作一个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,还是其他什么?
最佳答案
- 创建一个函数。例如
int[] rootOfQuadraticEquation(int a, int b, int c)
或类似的东西。返回根并删除所有 System.out.println。您可以在客户端功能中打印结果。 - 实现parameterized test 。每个测试数据元素应包含
a
、b
、c
和expectedResults
。 - 运行测试。
您可以考虑使用TDD下次。
关于java - 简单二次方程的 JUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28261633/