0
從我的理解來看,單元測試更多的是編寫實際可測試的代碼,而不是編寫實際測試的代碼。如何測試我的MainActivity?
爲了編寫可測試代碼,至少在java這樣的語言中,我可能應該使用依賴注入嗎?我正在寫的應用程序目前不使用任何DI。
但是我想通過寫我的MainActivity單元測試,看起來像這樣開始:
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private ImageButton buttonPlay;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//setting the orientation to landscape
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//Prevent screen from dimming when app is running
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
//getting the button and adding click listener
buttonPlay = (ImageButton) findViewById(R.id.buttonPlay);
buttonPlay.setOnClickListener(this);
}
@Override
public void onClick(View v) {
//starting game activity
startActivity(new Intent(this, GameActivity.class));
}
}
我應該對這裏的每一個方法的測試?像一個onCreate(),setContentView(),setRequestedOrientation()等?因爲林甚至不知道我會爲這些方法斷言。
似乎像谷歌文檔推薦mockito(也許這是不同的?),但我只是不知道我是否應該測試這些方法呢? – red888
沒有先生,你不需要測試這些方法,但你可能想測試當你點擊按鈕時會發生什麼。你可以使用Espresso單元測試 –
來測試這個場景,但是如果我不應該直接測試像setRequestedOrientation()這樣的本地方法,我該如何確認它的設置是否正確?我是否會用我自己的方法之一做更進一步的工作? – red888