Javaプログラミング/サーバサイド&ケータイJava

テストって、なに?(3ページ目)

Eclipseに内蔵されている「JUnit」で、単体テストを行ってみましょう。

執筆者:掌田 津耶乃

サンプルプログラムの作成


では、テストの対象となるサンプルプログラムを作成しましょう。ここでは、ごく単純な計算のプログラムを用意することにします。ここではjavax.swing.JFrameを継承して「jp.tuyano.SampleApp」というクラスを作成することにしましょう。

新規クラスの作成画面。jp.tuyanoパッケージにSampleAppという名前でクラスを作ることにする。


クラスができたら、簡単な計算のプログラムを書いておきましょう。ここではサンプルとして、金額を入力すると本体価格と消費税額を計算して表示するプログラムを用意してみましょう。

package jp.tuyano;

import javax.swing.*;
import java.awt.event.*;

public class SampleApp extends JFrame {

  private static final long serialVersionUID = 1L;
  JTextField field,field1,field2,field3;
  JLabel label1,label2,label3,labele1,labele2,labele3;
  JButton button;

  public static void main(String[] args) {
    new SampleApp().setVisible(true);
  }
  
  public SampleApp(){
    this.setLayout(null);
    this.setSize(300,250);
    
    label1 = new JLabel("本体価格");
    label1.setBounds(10,20,60,20);
    this.add(label1);
    field1 = new JTextField("0");
    field1.setBounds(70,20,200,20);
    this.add(field1);
    labele1 = new JLabel("円");
    labele1.setBounds(270,20,20,20);
    this.add(labele1);

    label2 = new JLabel("消費税額");
    label2.setBounds(10,50,60,20);
    this.add(label2);
    field2 = new JTextField("0");
    field2.setBounds(70,50,200,20);
    this.add(field2);
    labele2 = new JLabel("円");
    labele2.setBounds(270,50,20,20);
    this.add(labele2);

    label3 = new JLabel("税込価格");
    label3.setBounds(10,70,60,20);
    this.add(label3);
    field3 = new JTextField("0");
    field3.setBounds(70,70,200,20);
    this.add(field3);
    labele3 = new JLabel("円");
    labele3.setBounds(270,70,20,20);
    this.add(labele3);

    field = new JTextField("0");
    field.setBounds(20,120,250,20);
    this.add(field);
    
    button = new JButton("Click");
    button.setBounds(100,150,100,25);
    button.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent ev){
        buttonAction(ev);
      }
    });
    this.add(button);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
  
  public void buttonAction(ActionEvent ev){
    String s = field.getText();
    String str = "";
    try {
      int n = Integer.parseInt(s);
      int n0 = (int)(n / 1.05);
      int n1 = n - n0;
      int n2 = (int)(n * 1.05);
      field1.setText(Integer.toString(n0));
      field2.setText(Integer.toString(n1));
      field3.setText(Integer.toString(n2));
    } catch (NumberFormatException e) {
      field1.setText("0");
      field2.setText("0");
      field3.setText("0");
    }
  }
}


実際に実行して、正常に動作することだけ確認しておきましょう。適当に金額を入力してボタンを押すと、本体価格と税額が計算され表示されます。整数以外の値を入力すると、注意のテキストが表示されます。

一応、プログラムとしては正常に動作しますね。では、これでテストを行ってみましょう。

プログラムを実行して現れる入力フィールド(一番下に位置するフィールド)に金額を書いてボタンを押すと、本体価格と税額の内税方式の金額、および金額に税額を加算した外税方式の金額がそれぞれ表示される。



  • 前のページへ
  • 1
  • 2
  • 3
  • 4
  • 6
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます