我有一个非常简单的问题,我甚至在这里搜索,但它比我发现的例子更简单的情况。 我有一个java程序,它有一个简单的System.in的主要功能....我只是想制作一个bat文件,它将运行java程序,然后自动输入输入流。批处理文件到java测试
我basicly想这是通过批处理文件做,所以我可以做一个测试平台:
java Proj module array1{}
而且我想,他们是我的测试中运行多个模块。提前
我有一个非常简单的问题,我甚至在这里搜索,但它比我发现的例子更简单的情况。 我有一个java程序,它有一个简单的System.in的主要功能....我只是想制作一个bat文件,它将运行java程序,然后自动输入输入流。批处理文件到java测试
我basicly想这是通过批处理文件做,所以我可以做一个测试平台:
java Proj module array1{}
而且我想,他们是我的测试中运行多个模块。提前
我不知道是否有可能做到这一点与System.in,但
感谢你在备选方案中考虑的只是那些通过命令行参数,以你的主要方法是什么?
好吧,我不确定你究竟在问什么。是否有任何理由不能简单地通过命令行传递你需要的参数?
例如,假设您的MyJavaClass
类别采用main
方法。你这样称呼它:
java MyJavaClass module1 module2 ... modulen
...然后假设你main
方法是这样的:
public static void main (String[] args) {
...你args
阵列看起来像{"module1", "module2", ... "modulen"}
,你然后可以按照您认为合适的方式进行处理并用于打开输入流。
还是我完全错过了这一点?
如果你想创建测试代码,你有没有看过JUnit呢?没有必要重新发明轮子。
如果我理解正确,你想要的是运行java Proj
,然后写module array1{}
或其他一些输入到标准输入。
如果这是正确的,你可以把你输入的文本文件,说input.in而只需键入以下的批处理文件:
java Proj < input.in
我没有窗户这里环境检查它,但我很确定它会起作用。
调查junit。它专为运行测试套件而设计。
这正是我想要的...在过去的2个小时。 Thx很多 –
不客气。顺便说一句,如果你不想有一个额外的文件,通过使用这样的东西,你可以使它更简单: 'echo“module array1 {}”> java Proj' 这在Unix中肯定有效。但是,我不确定echo命令在Windows中是否可用,但肯定会有一些等价命令可以帮助您节省额外的文件。 –