JUnit对互惠的测试

时间:2018-03-26 23:25:42

标签: java junit

我有一个代码,它采用有理数的倒数。我也有一个构造函数。这就是我所拥有的:

private int num;
private int den;
public Rational(int numIn, int denIn) {
    num = numIn;
    den = denIn;
}
public String reciprocal() {
    return den + "/" + num;
}

我想为此代码编写一个JUnit Test。这是我到目前为止所做的,但它一直都失败了:

int num = 7;
int den = 5;
@Test
public void reciprocal() {
    String answer = 7 + "/" +5;
    assertTrue(answer == 5 + "/" + 7);
}

我怎样才能做到这一点,使用我的代码,JUnit Test将会出现并非失败?

1 个答案:

答案 0 :(得分:5)

您的测试没有测试任何东西。一般来说,测试需要

  • 设置测试用例(例如,在测试特定条件下构建Rational的实例,即7和5)
  • 执行要测试的方法/功能(在构造的对象上调用.reciprocal
  • 如果返回结果(倒数值)则断言结果,如果方法返回void则声明状态发生变化,并且对某些预期值有副作用。

对于您的情况,这意味着:

@Test
public void reciprocal() {
    Rational rat = new Rational(7, 5);
    String res = rat.reciprocal();
    assertEquals(5 + "/" + 7, res);
}