単体テストをエミュレーターで Eclipse のデバッグ モードで実行すると、正常に実行され、エラーなしで完了します。ただし、実行モードで実行するとクラッシュします。これが私のフラグメントコードです
public class TextAnswerButton extends Fragment
{
...
@Override
public View onCreateView(final LayoutInflater inflater,
final ViewGroup container, final Bundle savedInstanceState)
{
final View layout = inflater.inflate(R.layout.textanswer, container,
false);
answer = (TextAnswer) getArguments().getSerializable("answer");
final Button button = (Button) layout.findViewById(R.id.button_answer);
button.setText(answer.getAnswerText());
button.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View view)
{
callback.answerQuestion(answer);
}
});
return layout;
}
}
問題は
answer = (TextAnswer) getArguments().getSerializable("answer");
実行モードでは答えは null になります。これがnullになるタイミングについてはどうですか。十分に迅速に逆シリアル化できませんか?
これは、完全性、単純な作成アクティビティ、およびボタンをクリックするための私の Robotium テストです。
public void testSelectQuiz() throws Exception {
SOLO.assertCurrentActivity("Expected QuizListActivity", QuestionActivity.class);
SOLO.clickOnButton("One");
//q0.getAnswers().
//SOLO.cli
}