1. 程式人生 > >Android Studio 簡單的JunitTest

Android Studio 簡單的JunitTest

最近使用AndroidStudio的時候想要使用單元測試
因為有一些資料需要Activity的支援,
從網上找了一些教程,但自己使用時感覺不理想,發現都是一些業務邏輯的類,很少有直接針對Activity的單元測試
所以想自己寫一個簡單的demo

開發環境

Android Studio 2.2

步驟

首先新建工程
然後會自動生成MainActivity

MainActivity程式碼如下

public class MainActivity extends AppCompatActivity {

    // Used to load the 'native-lib' library on application startup.
static { System.loadLibrary("kikt-camera"); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Example of a call to a native method TextView tv = (TextView) findViewById(R.id.sample_text); tv.setText(stringFromJNI()); } /** * A native method that is implemented by the 'native-lib' native library, * which is packaged with this application. */
public native String stringFromJNI(); public void showTest() { Log.d("MainActivity", stringFromJNI()); } }

這裡寫圖片描述
這裡直接建立Test檔案
這裡寫圖片描述
點ok後
會生成一個檔案

我在這裡對程式碼進行了修改
修改如下

@RunWith(JUnit4.class)
public class MainActivityTest {

    @Rule
    public ActivityTestRule<MainActivity> rule = new
ActivityTestRule<>(MainActivity.class); @Test public void stringFromJNI() throws Exception { MainActivity activity = rule.getActivity(); TextView textView = (TextView) activity.findViewById(R.id.sample_text); String s = textView.getText().toString(); Log.d("MainActivityTest", s); Log.d("MainActivityTest", activity.stringFromJNI()); } }

這裡通過rule.getActivity()可以直接拿到Activity物件
可以獲取到View物件
接著就可以將測試的相關所有邏輯寫在裡面了

這裡可以直接點選執行test了
這裡寫圖片描述

這裡寫圖片描述

我這裡只是做了幾個日誌輸出,可以從Android monitor裡面看到日誌輸出
這裡寫圖片描述

後記

demo比較簡單,沒有什麼多餘的東西,僅做參考