如何将 HWUT 单元测试工具与 java 个文件一起使用

How to use the HWUT unit test tool with java files

我一直在使用 C 和 python 的 HWUT 单元测试工具,现在我正在尝试使用 Java。在 python 中,如果我将 "hwut-info.dat" 文件指定为

,我可以告诉 HWUT 运行 所有带有 python 的 .py 文件
Some title
----------------------
python *.py

但是对于 Java 我不能这样做,因为 java 需要没有扩展名的文件名。 java 编译器应考虑 '*.java' 文件,但它确实 期望文件主干作为输入,即 java FileStem 以便处理 FileStem.java.

以后的 HWUT 版本 (> 0.28.0) 将提供一些复杂的功能 传递有关路径名的信息,即在那些(在撰写本文时) 'future versions' 无扩展名 java 文件的用法可以指定为

  java -cp mypackages:. {{file.java%}}

目前,您需要一个脚本来运行您的测试,例如'runjava.sh':

#! /usr/bin/env bash
java -cp ../../package:. $(basename ${1%.*}) ${@:2}

它调用 java 解释器,从文件名中删除扩展名并通过 要执行的文件的所有剩余参数。在你的 'hwut-info.dat' 您需要指定的文件:

My title
--------------------------------------------------------
bash ./runjava.sh *.class

这让 HWUT 在当前目录中搜索 *.class 文件。这 但是,'runjava.sh' 省略了扩展名并使用文件 stem 调用了 'java'。 在您的 Java 测试应用程序中,您在命令行中反映如下:

public class Mine {
    public static void main(String[] args) {
        if( args.length >= 1 && args[0].equals("--hwut-info") ) {
            System.out.println("Title ...");
            ...
        }
    }
    ...
}