当前位置: 首页 > 知识库问答 >
问题:

使用命令行生成和运行junit测试文件的问题

司知
2023-03-14

我有。java文件及其应用程序。类文件,以及junit测试文件和junit-4.10。jar和hamcrest-core-1.3。jar在同一文件夹中。我正在尝试通过以下操作来构建它:

javac错误测试*. java

我有很多错误说

错误:包组织。junit不存在

然后,当我尝试使用 /usr/share/java文件夹中的jUnit文件时,使用以下命令:

javac-cp /usr/share/java/*错误测试*. java

我得到以下错误:

javac:invalid标志:/usr/share/java/ant-antlr-1.9。6.jar用法:javac用法-有关可能选项列表的帮助

如何构建和运行这些ErrorTest。java junit文件?

编辑:好吧,我明白了,但我不明白为什么。

下面给我错误:

javac -classpath /path/to/graph/*:/path/to/graph/lib/* ErrorTest*.java

下面生成所需的。类文件:

javac -classpath .:/path/to/graph/*:/path/to/graph/lib/* ErrorTest*.java

有人能解释一下为什么“.”有效吗?非常感谢。

共有2个答案

上官高逸
2023-03-14

用于运行JUnit4。从命令提示符中选择x个测试用例,您应该使用下面的命令

java -cp C:\lib\junit.jar org.junit.runner.JUnitCore [test class name]

要从命令提示符运行JUnit 3. x测试用例,您需要使用下面的命令

java -cp /usr/java/lib/junit.jar junit.textui.TestRunner [test class name]

示例程序

**TestCaseA.java**
package test;

import org.junit.Test;
import org.junit.After;
import org.junit.Before;


    public class TestCaseA
    {
       @Before
       public void beforeMethod()
       {
           System.out.println("Before method..");
       }

       @Test
       public void JUnit4Test()
       {
          System.out.println("In test method");
       }

       @After
       public void afterMethod()
       {
          System.out.println("after method");
       }
    }

从命令提示符执行

java -cp junit-4.10.jar;test\TestCaseA.class; org.junit.runner.JUnitCore test.TestCaseA
商振
2023-03-14

它的原因是,JavaCLASSPATH指向由"."表示的当前目录,它将在当前目录中查找类。

如果在CLASSPATH变量中定义了多个目录,Java将查找从第一个目录开始的类,如果在第一个目录中找不到指定的类,则只查找第二个目录。在的帮助下,在类路径中添加了多个目录:“

您已将类路径设置为

javac -classpath .:/path/to/graph/*:/path/to/graph/lib/* ErrorTest*.java

因此,使用此命令可以在类路径中设置多个目录。

JVM按照它们在CLASSPATH变量中列出的顺序搜索目录。

在你的情况下,似乎有些类存在于当前目录中,所以如果你没有在类路径中提供当前目录,JVM搜索第二个路径,然后第三个但必需的类不存在,所以看起来它不工作

 类似资料:
  • 问题内容: 如何从命令行运行Junit 4.8.1测试套件?另外,我想使用JUnit 4.8引入的类别,有没有一种方法可以从命令行指定要运行的类别。 问题答案: 从4.8开始,无法从命令行指定类别。

  • 问题内容: 我希望能够从命令行运行Junit测试,但是当我运行此命令时 我回来的就是 它是否与Android项目有关?我之前已经运行过该命令,并且没有太多问题。 问题答案: 我只是设法从命令行运行JUnit测试,但是使用adb shell。 命令是 更多细节在这里。

  • 问题内容: 我想从命令行运行JUnit测试用例。我怎样才能做到这一点? 问题答案: 对于JUnit 5.x,它是: 查找在简要https://stackoverflow.com/a/52373592/1431016的全部细节https://junit.org/junit5/docs/current/user-guide/#running-tests-console-launcher 对于JUnit

  • 我有多个Junit测试套件(SlowTestSuite、FastTestSuite等)。我只想使用maven命令运行特定的套件。例如 但它不起作用。只是根本不运行任何测试。有什么建议吗。

  • 我正在尝试使用Zerocode使用Junit(4)运行负载测试。通过遵循这些教程,我能够运行现有的Junit测试类 使用零代码框架使用JUnit进行负载测试 我有一个Junit测试套件可以正常工作,我想知道如何使用zerocode来启动这个测试套件,以便它可以运行负载测试所有测试类中的所有测试。上面的例子描述了如何运行选定的测试方法,或者只运行少数测试方法。

  • 我已经编写了一个JUnit测试套件,用于运行多个测试用例。 现在我想一次运行我的测试套件类(AllTest.java),以便所有测试都由一个类触发、执行和管理。我知道maven故障保护插件是可用的,但是有没有其他更简单的方法从maven调用JUnit测试套件呢? 我不想使用另一个插件。 这是我当前的maven-故障安全-插件配置:

  • 问题内容: 然后,我用Firefox扩展“ Selenium IDE”保存了一个测试用例。 现在,我想使用命令行来运行此导出的html文件。 我尝试遵循这个方法,从命令行在一个特定的测试用例中启动selenium离子,)但这种方法不起作用。 请帮我。 问题答案: 您将需要Selenium RC,可以从以下网站获得: http : //seleniumhq.org/download/ Java 1.

  • ./gradlew test 执行gradle测试任务后所有的测试用例都会被运行,然后会产出测试报告. 测试报告存放在址: app\/build\/reports\/debug\/index.html 通过gradle工具栏执行的效果同命令行.