如何为下面的类编写JUnit测试用例?

时间:2012-11-20 05:08:10

标签: java junit

由于我是初学者,请帮助编写以下课程的测试用例

我的计划如下:

 public class One
    {
    public void caseOne()   
    {
        int max=0, 
        cardNo=0;
        System.out.println("Name:");
                    String name=br.readLine();
                    System.out.println("Amount:");

                  int amount=Integer.parseInt(br.readLine());
                   int max=0;
                    for(Customer c :custList)
                    {
                        if(c.getCardNo()>max)
                        {
                            max=c.cardNo;
                        }

                    }
                    System.out.println("Your card no:"+(max+1));
                    Customer newCust=new Customer(name,amount,max+1);
                    custList.add(newCust);
    }
}

2 个答案:

答案 0 :(得分:3)

单元测试不测试代码,它根据规范测试实现。您没有包含您的代码应该包含的内容。并且说“好好看看代码”没有意义,因为已经假设它遵循规范,因此不需要进行单元测试。

答案 1 :(得分:1)

通常,具有void返回类型的方法很难测试。

现在你的班级有一个方法,有3-4个职责:

  1. 解析输入
  2. 创建客户
  3. 管理客户列表
  4. (?)日志输出
  5. 如果他们的责任对应用程序至关重要,请考虑将上述内容转换为他们自己的类。

    例如,您的解析器可能只将文件转换为List<Map<String, String>>List<Customer>,并且您有一个CustomerRepository,其作业只是管理Customer个对象的集合。