Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java—必须手动测试许多输入_Java_Eclipse - Fatal编程技术网

Java—必须手动测试许多输入

Java—必须手动测试许多输入,java,eclipse,Java,Eclipse,我正在使用eclipse,需要为我的应用程序测试许多文件。这意味着,我必须转到:`run->run configurations->arguments',更改它们并重新运行大约30个不同的测试文件 有没有更快的方法? 我在谷歌上搜索过java自动测试。只是需要一些指导,我有点困惑 谢谢 daniel您应该设置一个项目或一个构建文件,以便在一次单击中执行一组测试,而不是像当前那样逐个执行 否则,您只需将要运行的所有测试放在特定的包或文件夹中,然后在JUnit运行/调试配置中选择:“在选定的项目、包

我正在使用eclipse,需要为我的应用程序测试许多文件。这意味着,我必须转到:`run->run configurations->arguments',更改它们并重新运行大约30个不同的测试文件

有没有更快的方法? 我在谷歌上搜索过java自动测试。只是需要一些指导,我有点困惑

谢谢 daniel

您应该设置一个项目或一个构建文件,以便在一次单击中执行一组测试,而不是像当前那样逐个执行

否则,您只需将要运行的所有测试放在特定的包或文件夹中,然后在JUnit运行/调试配置中选择:“在选定的项目、包或源文件夹中运行所有测试”:

Eclipse的另一种方法是创建测试套件:

  • 打开新向导
  • 选择Java>JUnit>JUnit测试套件并单击Next
  • 输入测试套件类的名称
  • 选择应包含在套件中的类

如果只是命令行的变体,您可以通过添加这样一个简单的类来进行分类(在没有javac的情况下动态编写,可能会有错误)


非常简单,您将所有命令行存储在一个属性文件中,然后在每个键上迭代执行真正的主类并传递从属性文件读取的参数。

您不能将参数放入属性文件吗?因此,启动配置将只是一个,您将能够更改编辑道具文件的参数。现在是了解单元测试的好时机。。。有很多资源在那里。。。(假设您真的在谈论测试,而不是批处理。)如果您在eclipse中使用tomcat,可能会对您有所帮助。
public class PropertyRunner {
    private static String commands [] = {"TEST_1", "TEST_2", "TEST_3" };

    public static void main(String[] args) throws FileNotFoundException, IOException
    {
        Properties config = new Properties();
        config.load(new FileInputStream("config.props"));
        // config.props contains all my tests in the format:
        // TEST_1=-a|-k|ccccc
        // TEST_2=-b|-k|ccccd
        // TEST_3=-c|-k|FEFEF

        // now run test cases:
        for (String key : commands) {
            String cmdLine = config.getProperty(key);
            // cmdLine is in format "-a|-b|ccccc"
            String childArgs[] = cmdLine.split("\\|");
            // Exec your main class passing args directly or via threads
            // YourApp.main(childArgs);
        }
        System.exit(0);
    }
}