Junit - 命令行参数

时间:2011-10-10 15:47:15

标签: java junit main

我刚开始学习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中编写测试,然后发送不同的命令行参数。

由于

1 个答案:

答案 0 :(得分:3)

简单!

public class MyClassTest {

    @Test
    public void shouldVerifyParameters() {
        MyClass.main(new String[]{"param1", "param2"});
    }

}

但是为了便于测试,请考虑将MyClass重构为MyClassMainMyClass,其中前者仅解析并验证命令行参数,并使用clientoptions调用后一个类。< / p>

这样您就不会违反Single responsibility principle并且可以使用main之外的业务逻辑,例如在servlet或移动设备上。另外......测试更简单。