java - 如何解决 "cannot find symbol"包中的 Timeout.seconds() 方法生成的 "org. junit.rules.Timeout"错误?

标签 java intellij-idea junit compiler-errors

耐心一点,我正在学习。 我正在做java作业,我必须实现方法并测试它们。 我声明我导入了包并创建了必要的接口(interface)和类。 在这种情况下,我必须测试“add”方法,但在编译过程中,我收到此错误。这是什么意思?我该如何解决?

错误:(15, 47) java: 找不到符号 符号:方法秒(int) 位置:类 org.junit.rules.Timeout

import org.junit.Before;
import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.*;


public class StringCalculatorTest {

    @Rule
    public Timeout globalTimeout = Timeout.seconds(2);

    Calculator calculator = null;

    @Before
    public void setUp(){
        calculator = new StringCalculator();
    }

    @Test
    public void calculatorTest() {
        assertThat(calculator.add("")).isEqualTo(0);
        assertThat(calculator.add("1,3")).isEqualTo(4);
    }

这是 StringCalculator 类。

public class StringCalculator implements Calculator {
    public int add(String expression){
        return 0;
    }

}

这是计算器界面。

public interface Calculator{
    int add(String expression);
}

最佳答案

我不明白超时在您的示例中的作用。也许只是删除它?

如果我稍微改变断言,测试本身对我来说效果很好:

    assertEquals(calculator.add(""), 0);
    assertEquals(calculator.add("1,3"), 4);

第二个按预期失败,因为计算器的实现尚未完成。

关于java - 如何解决 "cannot find symbol"包中的 Timeout.seconds() 方法生成的 "org. junit.rules.Timeout"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60682725/

相关文章:

java - 使用两个、三个依赖类模拟、 stub 进行 Junit 测试。有关 Junit 教程和示例的任何推荐

java - 在基于图 block 的 map 中查找多边形的内部坐标

java - 编程: open 2 popup windows with one click

java - Intellij Idea 社区无法识别 JUnit Jupiter 的注解 @DisplayName

java - Intellij IDEA 从另一个对象实例生成更新方法。 (更新 Realm 对象)

java - Intellij,如何为 Junit 单元测试设置 JVM 参数?

ant - 控制 Ant 运行哪些 JUnit 测试

java - 尝试将 csv 文件中的一些值插入到 cassandra

java - 如何检测程序是否在 JAR 中运行?

java - 有没有办法在 IntelliJ 中使用 "deprecate"库方法?