我正在寻找JUnit测试的一些建议。
我理解基础但我不确定这个。它测试了一个分数的最大公约数。
// Greatest Common Divisor
public static int gcd(int x, int y) {
return (y == 0) ? x : gcd(y, x % y);
}
继续JUnit测试。
@Test
public void testGcd() {
fail("Not yet implemented");
}
任何建议都将不胜感激。感谢
答案 0 :(得分:2)
首先,您需要多个测试才能看到该功能是正确的。每个测试用例都应该对gcd(x,y)
返回的值进行一次断言,如下所示:
@Test
public void testGcd111_259() {
assertEquals(37, gcd(111, 259));
}
在以下情况下,您需要包含其他测试以检查gcd
是否正常工作:
1
答案 1 :(得分:0)
您可以使用与JUnit集成的精彩spock测试框架来完成此任务。
class GCDTest extends Specification {
def "greatest common denominator of two numbers"() {
expect:
MyMathUtils.gcd(a, b) == c
where:
a | b | c
1 | 1 | 1
2 | 1 | 1
2 | 2 | 2
10 | 15 | 5
111 | 259 | 37
}
}