Run your Unit Tests with Robolectric

Norma Puspitasari
pie-o
Published in
1 min readApr 6, 2017
Logo robolectric

Jadi, kurang lebih selama seminggu yang lalu saya mengerjakan unit test untuk android. Awalnya saya stuck untuk mengetes UI/functional-nya dari app kami karena jika menjalankan di AndroidStudio harus menggunakan emulator. Akhirnya, saya menemukan framework Robolectric untuk memudahkan functional test karena tidak membutuhkan emulator sehingga di gitlab dapat berlajan dengan baik. Sedangkan untuk class Model, kami menggunakan JUnit biasa.

Hal pertama yang dilakukan adalah menambah dependency di build.gradle app.

testCompile "org.robolectric:robolectric:3.3.2"

Dan sebelum inisialisasi class, saya menambahkan code berikut

@Config(constants = BuildConfig.class, packageName = "com.example.hp.sibujang_app")
@RunWith(RobolectricTestRunner.class)

Biasanya saya mengawalinya dengan setup activity yang akan ditest. Berikut contohnya.

private MainActivity activity;

@Before
public void setup() throws Exception {
activity = Robolectric.setupActivity(MainActivity.class);
}

JIka sudah disetup, activity tersebut tinggal di-test berdasarkan method-method dan isi class tersebut (jika dicontoh berarti sesuai method dan isi dari MainActivity). Jangan lupa sebelum di run pastikan Configurations dari working directory di AndroidJUnit adalah $MODULE_DIR$ atau path module aplikasi yang dibuat.

Saat ini, problemnya masih terdapat error-error di beberapa test. Kedepannya saya akan memperbaiki test-test tersebut dan lanjut ke task user story.

Terima kasih!

--

--

Norma Puspitasari
pie-o
Editor for

A software engineer with a keen interest in writing and data science, who also enjoys baking and video editing on weekends.