-4

私は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);
    }
}
4

2 に答える 2

3

単体テストはコードをテストするのではなく、仕様に対して実装をテストします。あなたはあなたのコードが何をすべきかを含めませんでした。また、「コードをよく見てください」と言っても意味がありません。これは、すでに仕様に準拠していることを前提としているため、単体テストは必要ないためです。

于 2012-11-20T11:57:10.053 に答える
1

void一般に、戻り値の型を持つメソッドはテストが困難です。

現在、クラスには 3 ~ 4 の責任を持つ 1 つのメソッドがあります。

  1. 入力の解析
  2. 顧客の作成
  3. 顧客リストの管理
  4. (?) ログ出力

それらの責任がアプリケーションにとって重要である場合は、上記を独自のクラスに変換することを検討してください。

たとえば、パーサーがファイルをList<Map<String, String>>またはに変換するだけで、オブジェクトのコレクションを管理するだけList<Customer>の を持っているとします。CustomerRepositoryCustomer

于 2012-11-20T05:52:40.833 に答える