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