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