gpt4 book ai didi

java - 如何从终端使用junit

转载 作者:行者123 更新时间:2023-11-29 03:07:18 26 4
gpt4 key购买 nike

我正在尝试在终端中使用 junit。我有一个类 Abc.java

class Abc{
public int add(int a, int b){
return a+b
}
}

我创建了一个类 AbcTest.java

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;

class AbcTest {
public void testAdd() {
System.out.println("add");
int a = 0;
int b = 0;
Abc instance = new Abc();
int expResult = 0;
int result = instance.add(a, b);
assertEquals(expResult, result);
}
}

当我运行命令时

javac -cp /usr/share/java/junit4.jar AbcTest.java

我收到以下错误输出

AbcTest.java:16: error: cannot find symbol
Abc instance = new Abc();
^
symbol: class Abc
location: class AbcTest
AbcTest.java:16: error: cannot find symbol
Abc instance = new Abc();
^
symbol: class Abc
location: class AbcTest
2 errors

我尝试用命令构建项目

javac -cp /usr/share/java/junit4.jar *.java

它正确构建,但运行此命令

java -cp /usr/share/java/junit4.jar org.junit.runner.JUnitCore AbcTest

抛出以下错误

JUnit version 4.11
Could not find class: AbcTest
Time: 0.002
OK (0 tests)

最佳答案

您需要将当前目录(或编译类文件所在的目录)连同必要的 jar 文件添加到类路径。

java -cp /usr/share/java/junit4.jar:. org.junit.runner.JUnitCore AbcTest

仅供引用,当我尝试运行我使用的相同测试用例时(当前目录中的 jar 文件和类文件)

javac -cp junit-4.11.jar:. AbcTest.java
java -cp junit-4.11.jar:hamcrest-core-1.3.jar:. org.junit.runner.JUnitCore AbcTest

并且必须将 AbcTest.java 修改为

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;


public class AbcTest {
@Test
public void testAdd() {
System.out.println("add");
int a = 0;
int b = 0;
Abc instance = new Abc();
int expResult = 0;
int result = instance.add(a, b);
assertEquals(expResult, result);
}
}

变化:

  1. 公开课AbcTest
  2. testAdd 方法的@Test 注解

关于java - 如何从终端使用junit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31503047/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com