耐心一点,我正在学习。 我正在做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/