我刚刚开始学习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中编写测试,然后发送不同的命令行参数。
谢谢
简单!
public class MyClassTest {
@Test
public void shouldVerifyParameters() {
MyClass.main(new String[]{"param1", "param2"});
}
}
但是,为了便于测试,考虑将MyClass
重构为MyClassMain
和MyClass
,其中前者只解析和验证命令行参数,并使用clientoptions
调用后者。
这样你就不会违反单一职责原则,你可以在main
之外使用业务逻辑,例如在servlet或移动设备上。也……