【问题标题】:Working only with gedit/vim. How to run JUnit class via command line仅使用 gedit/vim。如何通过命令行运行 JUnit 类
【发布时间】:2013-05-08 14:52:45
【问题描述】:

我正在使用 Linux Mint 14。我安装了 junit,并验证它在 PATH 上。在我的主文件夹中,我有一个名为 testClass.class 的类,并在其中定义了测试方法。当我尝试运行程序时,出现以下错误:

lazarevsky@linuxbox ~ $ java -cp /usr/share/java/junit.jar junit.textui.TestRunner testClass.class 
Class not found "testClass.class"

我该如何进行?我究竟做错了什么?请注意,我使用的不是成熟的 IDE,而只是一个文本编辑器。

【问题讨论】:

    标签: java unit-testing junit linux-mint


    【解决方案1】:

    你应该使用

    java -cp .:/usr/share/java/junit.jar junit.textui.TestRunner testClass
    
    1. 您应该添加 . (当前目录)到类路径
    2. 您应该使用 testClass 而不是 testClass.class 的类名

    编辑

    首先,您应该阅读 junit 的文档。有很多手册。 https://github.com/junit-team/junit/wiki

    如果你使用junit4,你可以像这样轻松开始:

    1. 从 junit 网站下载 junit-4.11.jar:hamcrest-core-1.3.jar。
    2. 像这样创建一个 TestCase.java 文件:
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.junit.runners.JUnit4;
    
    @RunWith(JUnit4.class)
    public class TestCase {
        @Test
        public void testA(){
            org.junit.Assert.assertTrue(true);
        }
    }
    
    1. javac -cp junit-4.11.jar TestCase.java
    2. java -cp .:junit-4.11.jar:hamcrest-core-1.3.jar org.junit.runner.JUnitCore TestCase

    然后你可以找到这样的测试结果:

    JUnit version 4.11
    .
    Time: 0.006
    
    OK (1 test)
    

    【讨论】:

    • 现在出现此错误:~ $ java -cp .:/usr/share/java/junit.jar junit.textui.TestRunner testClass 线程“main”中的异常 java.lang.ClassFormatError: 不兼容的魔法类文件testClass中的值169877536是什么意思?
    • @Dragan 你的类文件坏了,重新编译。有效 Java 类的魔法值是 0xCAFEBABE(十六进制值 3405691582),即前 4 个字节。
    • 我将其更改为 .java 而不是 .class 并尝试编译它,但它找不到顶部声明的 junit 依赖项,它不能解释 @Test。如何在不使用 IDE 的情况下包含这些引用?
    • lazarevsky@linuxbox ~ $ junit -v JUnit 3.8.2 by Kent Beck 和 Erich Gamma 用法:TestRunner [-wait] testCaseName,其中 name 是 TestCase 类的名称
    • @Dragan 如果你想学习junit,你现在可以从junit4开始,它的设计更现代,更容易上手。
    【解决方案2】:

    将当前目录添加到您的类路径。

    java -cp /usr/share/java/junit.jar:. junit.textui.TestRunner testClass.class

    【讨论】:

      猜你喜欢
      • 2016-11-03
      • 2017-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-06
      • 1970-01-01
      • 2012-07-30
      相关资源
      最近更新 更多