1
我试图用Robolectric测试一个非常简单的计算器应用程序。Robolectric简单测试
@Before
public void setUp(){
mActivity = new MainActivity();
mActivity.onCreate(new Bundle());
et1 = (EditText) mActivity.findViewById(com.mamlambo.article.simplecalc.R.id.value1);
et2 = (EditText) mActivity.findViewById(com.mamlambo.article.simplecalc.R.id.value2);
btnAdd = (Button) mActivity.findViewById(com.mamlambo.article.simplecalc.R.id.addValues);
btnMult = (Button) mActivity.findViewById(com.mamlambo.article.simplecalc.R.id.multiplyValues);
result = (TextView) mActivity.findViewById(com.mamlambo.article.simplecalc.R.id.result);
}
@Test
public void test(){
et1.setText("20");
et2.setText("20");
btnAdd.performClick();
assertThat("40", equalTo(result.getText().toString()));
}
但在运行测试后断言说
java.lang.AssertionError:
Expected: ""
got: "40"
我猜测的EditText上是没有得到设置。我已经尝试过,没有TextView.BufferType.EDITABLE
,但它没有区别。
有人能告诉我那是什么,我做错了吗?我很确定它的东西非常简单,但我只是不能看到它是什么:(
还是一样:(我使用Robolectric 2.1,我已经标注了'@RunWith(RobolectricTestRunner.class)'类我猜它与我在哪里以及如何设置'et1'和'et2'有关。 – Traxex1909