java - 倒数的 JUnit 测试

标签 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 测试。这是我到目前为止所拥有的,但它一直失败:

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/

相关文章:

java - java应用程序的性能分析器

java - 如何从包(工具栏)设置文本

java - 在方法中使用 spring 注解启动调度程序

java - 在一个 JUnit 的 pom 和 openjdk6 中使用 1.6 时出现不支持的主要版本 51.0 错误

java - 如何使用 Spring Boot 测试 jwt.*?

java - 持续轮询,还是 Java RMI?

Java EE (JBoss EAP) 自定义身份验证方法 JWT

java - 无法进行交易调用

eclipse - 有没有办法在不使用 jvm 代理的情况下使用 Spring AspectJ LTW 运行 JUnit 4 测试?

groovy - Gradle:如何配置 buildSrc 或从主项目跳过测试?