java JUNIT测试Eclipse IDE引发错误
我有下面的类和方法,我试图让JUNIT测试工作,但它抛出了一个错误。这是上课时间
package christmas;
public class Worksheet1q1 {
public static void main(String[] args) {
int m = 3, n = 4;
int result = power(m, n);
System.out.printf( "power method ");
System.out.printf( "%d^%d = %d", m, n, result);
}
//* code for power
static int power(int m, int n) {
if (n != 0)
return (m * power(m, n - 1));
else
}}
这是我的JUNIT测试类和方法
package christmas;
import static org.junit.Assert.assertThat;
import org.junit.Test;
public class Worksheet1q1Test {
@Test
public void twoAndThreeissix(int m, int n) throws Exception {
int result = Worksheet1.power(2, 3);
assertThat(result, is(8L));
}}
我有两个问题。首先,当我运行测试类时,我有一个错误,方法“christmas找不到”,但christmas是我的包名,所以不确定Eclipse为什么认为它是一个方法
另外,我在assertThat上得到了一个错误-该错误表明找不到方法“is”
这是我在JUNIT测试中的第一次尝试,因此我们将非常感谢您的帮助
# 1 楼答案
你的代码不好
这在IntelliJ中运行良好:
接下来我将编写单元测试:
# 2 楼答案
我运行了你的代码,并在错误出现时修复了它们。我在命令行上运行了它。我已将所有导致错误的内容放入注释中:
对于测试,我添加了一个不会失败的测试,使用
int
而不是long
:汇编:
运行:
结果: