我有一个取有理数倒数的代码。我也有一个构造函数。这就是我所拥有的:
private int num;
private int den;
public Rational(int numIn, int denIn) {
num = numIn;
den = denIn;
}
public String reciprocal() {
return den + "/" + num;
}
我想为此代码编写一个 JUnit 测试。这是我到目前为止所拥有的,但它一直失败:
int num = 7;
int den = 5;
@Test
public void reciprocal() {
String answer = 7 + "/" +5;
assertTrue(answer == 5 + "/" + 7);
}
我怎样才能使用我拥有的代码,使 JUnit 测试不会失败?
最佳答案
您的测试没有测试任何东西。通常一个测试需要
- 设置一个测试用例(例如,在测试特定条件下构造一个
Rational
实例,即 7 和 5) - 执行要测试的方法/功能(在构造的对象上调用
.reciprocal
) - 如果返回结果(倒数值)则断言结果,或者如果方法返回 void 并且对某些预期值有副作用则状态发生变化。
对于您的情况,这意味着:
@Test
public void reciprocal() {
Rational rat = new Rational(7, 5);
String res = rat.reciprocal();
assertEquals(5 + "/" + 7, res);
}
关于java - 倒数的 JUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49502162/