技术开发 频道

使用Junit对Android应用进行单元测试

        步骤3 SimpleCale Activity

  本程序中只有一个Actity:MainActity.java,代码如下:

package com.mamlambo.article.simplecalc;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {
  
/** Called when the activity is first created. */
   @Override
  
public void onCreate(Bundle savedInstanceState) {
       final
String LOG_TAG = "MainScreen";
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);

       final EditText value1
= (EditText) findViewById(R.id.value1);
       final EditText value2
= (EditText) findViewById(R.id.value2);

       final TextView result
= (TextView) findViewById(R.id.result);

       Button addButton
= (Button) findViewById(R.id.addValues);
       addButton.setOnClickListener(
new OnClickListener() {

          
public void onClick(View v) {
               try {
                  
int val1 = Integer.parseInt(value1.getText().toString());
                  
int val2 = Integer.parseInt(value2.getText().toString());

                  
Integer answer = val1 + val2;
                   result.setText(answer.toString());
               } catch (Exception e) {
                  
Log.e(LOG_TAG, "Failed to add numbers", e);
               }
           }
       });

       Button multiplyButton
= (Button) findViewById(R.id.multiplyValues);
       multiplyButton.setOnClickListener(
new OnClickListener() {

          
public void onClick(View v) {
               try {
                  
int val1 = Integer.parseInt(value1.getText().toString());
                  
int val2 = Integer.parseInt(value2.getText().toString());

                  
Integer answer = val1 * val2;
                   result.setText(answer.toString());
               } catch (Exception e) {
                  
Log.e(LOG_TAG, "Failed to multiply numbers", e);
               }
           }
       });
   }
}

 

  上面的代码十分简单,分别在两个按钮的onclick事件中,对用户输入的数进行了相加和相乘,看上去代码似乎没问题,但接下来,我们将通过Junit去发现其中的bug。

0