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

时间:2015-09-08 08:16:47

标签: java eclipse

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

有更快的方法吗? 我用google搜索java自动化测试。只需要一些指导,我很高兴。

感谢 丹尼尔

2 个答案:

答案 0 :(得分:1)

您应该设置一个Maven项目或ant构建文件,只需单击一下即可执行一系列测试,而不是像目前一​​样逐一进行。

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

RunDebug conf

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

  • 打开新向导
  • 选择Java> JUnit>单击JUnit Test Suite并单击“下一步”。
  • 输入测试套件类的名称
  • 选择套件中应包含的类。

Test Suite

答案 1 :(得分:0)

如果它只是命令行变化,你可以将它排序,添加一个像这样的简单类(在没有javac的情况下写这个,可能有错误)

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);
    }
}

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

相关问题