2013-08-08 4 views
0

Я пытаюсь выполнить тестирование простого приложения калькулятора с помощью ActivityUnitTestCase. Код для моего калькулятора приложениеТестирование исходящего намерения

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main_page); 

    disp = (TextView) findViewById(R.id.disp); 

    n1 = (EditText) findViewById(R.id.n1); 
    n2 = (EditText) findViewById(R.id.n2); 

    calc = (Button) findViewById(R.id.calc); 


    calc.setOnClickListener(this); 

} 
public void onClick(View v) { 
    double num1 = Double.valueOf(n1.getText().toString()); 
    double num2 = Double.valueOf(n2.getText().toString()); 

    Intent in = new Intent(this,CalcActivity.class); 
    in.putExtra("num1",num1); 
    in.putExtra("num2", num2); 
    startActivity(in); 
} 

Я хочу, чтобы иметь возможность выполнять некоторые операции над двумя числами, а затем отправить его через намерение. Мой вопрос: как вы исследуете содержание исходящего намерения во время модульного теста?

+0

Что вы подразумеваете под «анализом содержимого», вы имеете его в коде в методе 'putExtra()', вы передаете два аргумента там, это зависит от 'CalcActivity.class', чтобы делать что-либо вы хотите с ними, например, на нажатой кнопке (например, «+» или «-»). – g00dy

+0

@ g00dy Я хочу, чтобы модуль тестировал приложение, поэтому мне нужно проверить, отправляются ли нужные данные в 'CalcActivity'. – Traxex1909

+0

хорошо, почему бы вам просто не «ЗАПИСАТЬ» эту информацию, прежде чем вызывать «startActivity (in);»? – g00dy

ответ

2

Найдено. В ActivityUnitTestCase есть функция, которая делает трюк.

Intent in = getStartedActivityIntent();

который возвращает намерение запуска, если ваша активность испытываемого вызывает startActivity(Intent) или startActivityForResult(Intent, int).

Смежные вопросы