我刚开始学习JUnit。我的代码如下:
public class MyClass {
private void verify(args) {...}
private void process(clientoptions) {...}
public static void main(String[] args) {
verify(args);
//get client and do something
.....
// some more code here....
........
// and then
process(clientoptions);
}
}
如何在Junit中编写测试,然后发送不同的命令行参数。
由于
答案 0 :(得分:3)
简单!
public class MyClassTest {
@Test
public void shouldVerifyParameters() {
MyClass.main(new String[]{"param1", "param2"});
}
}
但是为了便于测试,请考虑将MyClass
重构为MyClassMain
和MyClass
,其中前者仅解析并验证命令行参数,并使用clientoptions
调用后一个类。< / p>
这样您就不会违反Single responsibility principle并且可以使用main
之外的业务逻辑,例如在servlet或移动设备上。另外......测试更简单。