Baru saja mengunduh Android Studio yang didasarkan pada Ide Intellij.
Bagaimana cara membuat pengujian?
Saya melihat ada opsi untuk membuat Test Module tetapi ini sepertinya tidak melakukan apa-apa, hanya buat proyek baru dengan src
Saya juga mencoba menekan tombol pintas CTRL + AlT + T yang memungkinkan untuk membuat tes unit pada kelas yang ada tetapi tampaknya ingin menempatkannya di proyek saat ini. Tentu saja ini tidak membantu dengan TDD
Apakah ada yang punya pengalaman di sini?
Jawaban:
Jawaban ini untuk orang yang baru memulai pengujian Android. Saya akan memberikan dua contoh sederhana untuk membantu Anda melihat cara kerja pengujian. Jika Anda mengikuti selama 10 menit berikutnya, Anda akan siap untuk mulai menambahkan pengujian Anda ke aplikasi Anda sendiri. Saya pikir Anda akan terkejut betapa mudahnya itu. Saya pasti.
Pengantar Pengujian Android
Ada dua jenis tes yang akan Anda lakukan.
Context
Contohnya adalah tiruan .)Buat proyek baru dan Anda akan melihat folder default berikut.
Semuanya sudah ada dan menunggu Anda untuk membuat pengujian. Semuanya sudah diatur!
Cara membuat pengujian unit lokal
Buka
ExampleUnitTest
file yang ditunjukkan pada gambar di atas. itu akan terlihat seperti ini:Tekan panah hijau ganda untuk menjalankan semua tes atau panah hijau tunggal untuk menjalankan hanya satu. (Dalam hal ini hanya ada satu pengujian sehingga keduanya melakukan hal yang sama.)
Ini harus lulus (selama
2 + 2
masih4
ketika Anda membaca jawaban ini). Selamat, Anda baru saja menjalankan tes pertama Anda!Membuat tes Anda sendiri
Ayo tulis tes kita sendiri. Pertama tambahkan kelas ini ke proyek aplikasi utama Anda sehingga kami memiliki sesuatu untuk diuji:
Sekarang ubah
addition_isCorrect()
metode di kelas pengujian menjadi seperti kode berikut (atau tambahkan saja metode lain dengan nama yang berbeda):Jalankan lagi dan Anda akan melihatnya lulus. Selamat, Anda baru saja membuat tes pertama Anda sendiri! (Yah, kurasa secara teknis itu milikku, tapi, hei, cukup dekat. Apa milikku adalah milikmu.)
Cara membuat tes berinstrumen
Buka
ExampleInstrumentedTest
file. itu akan terlihat seperti ini:Tekan salah satu tombol hijau itu lagi.
Selama Anda memiliki perangkat nyata yang terhubung atau emulator sudah disiapkan, itu seharusnya sudah memulainya dan menjalankan aplikasi Anda. Selamat, Anda baru saja menjalankan pengujian berinstrumen pertama Anda!
Membuat tes Anda sendiri
Pengujian berinstrumen menggunakan Espresso untuk menjalankan pengujian. Ini seperti pengguna robot kecil Anda sendiri yang dapat menguji aplikasi Anda. Anda dapat memintanya untuk melakukan sesuatu seperti menekan tombol atau membaca properti TextView.
Anda dapat menulis instruksi bagaimana melakukan tes dengan tangan, tetapi karena kita baru memulai, mari gunakan fungsi rekam otomatis . Ini sangat sederhana.
Pertama tambahkan tombol ke UI Anda sehingga kami memiliki sesuatu untuk dikerjakan. Saya melakukan ini:
Kemudian tekan Run> Record Espresso Test di menu.
Setelah dimulai, klik tombol di emulator lalu untuk menyelesaikan pilih OK pada dialog Record. Ini harus menghasilkan kode tes berikut secara otomatis.
Bagus! Anda baru saja membuat tes berinstrumen pertama Anda! Itu sangat mudah. Anda mungkin harus menambahkan pernyataan untuk membuatnya menjadi tes nyata, tetapi itu juga cukup mudah dilakukan dengan perekam. Tonton video ini untuk membahas lebih dalam.
Pelajaran lanjutan
Saya akan menonton videonya terlebih dahulu dan kemudian membaca dokumentasi. Itu semua sangat membantu. Tautan terakhir adalah serangkaian artikel yang membahas beberapa hal penting untuk dipikirkan saat memilih apa yang akan diuji.
sumber
/app
, namun jika saya menjalankan dari baris perintah Gradle (atau CI) maka itu adalah _root . (Idealnya saya ingin mengaksesassets
folder tertentu saat dijalankan dengan cara apa pun).test/resources
dan letakkan file di sana, misalnyatest.txt
dan akses dengangetClass().getClassLoader().getResource("test.txt")
. Saya telah memutuskan bahwa mengakses aset APK secara langsung kemungkinan merupakan ide yang buruk, jadi saya akan mengatasinya dengan menyalin file untuk diuji dalam langkah build, atau dalam proses pembaruan eksternal. Ada beberapa pertanyaan tersisa tentang berbagai versi Gradle, tetapi saya belum menghadapi itu.Sunting: Mulai 0.1.8, ini sekarang didukung di IDE . Harap ikuti petunjuk di sana, alih-alih menggunakan petunjuk di bawah ini.
Dengan mengikuti Panduan Pengguna Plugin Android Gradle, saya bisa mendapatkan pengujian yang bekerja pada baris perintah dengan melakukan langkah-langkah berikut pada proyek yang baru dibuat (saya menggunakan paket 'com.example.myapplication' default):
Ini menjalankan pengujian saya dan menempatkan hasil pengujian di MyApplicationProject / MyApplication / build / reports / instrumentTests / connected. Saya baru dalam menguji aplikasi Android, tetapi tampaknya berfungsi dengan baik.
Dari dalam IDE, dimungkinkan untuk mencoba dan menjalankan kelas pengujian yang sama. Anda harus melakukannya
Namun ini gagal (jalur kelas yang digunakan saat menjalankan pengujian kehilangan direktori keluaran pengujian). Namun, saya tidak yakin ini akan berhasil terlepas dari pemahaman saya bahwa diperlukan runner pengujian khusus Android.
sumber
Saya akan menyarankan untuk menggunakan file gradle.build .
Tambahkan direktori src / androidTest / java untuk pengujian (Seperti yang mulai dijelaskan Chris )
Buka file gradle.build dan tentukan di sana:
Tekan "Sinkronkan Proyek dengan file Gradle" (di panel atas). Anda akan melihat sekarang folder "java" (di dalam "androidTest") berwarna hijau.
Sekarang Anda dapat membuat file uji apa pun dan menjalankannya.
sumber
Saya pikir posting oleh Rex St John ini sangat berguna untuk pengujian unit dengan studio android.
(sumber: rexstjohn.com )
sumber
Android Studio v.2.3.3
Sorot konteks kode yang ingin Anda uji, dan gunakan hotkey:
CTRL
+SHIFT
+T
Gunakan antarmuka dialog untuk menyelesaikan pengaturan Anda.
Framework pengujian seharusnya mencerminkan tata letak paket project Anda untuk mendapatkan hasil terbaik, tetapi Anda dapat membuat pengujian kustom secara manual, asalkan Anda memiliki direktori dan setelan build yang benar.
sumber
Untuk sekarang (studio 0.61) memelihara struktur proyek yang tepat sudah cukup. Tidak perlu membuat proyek uji terpisah seperti pada gerhana (lihat di bawah).
sumber
Android Studio terus berkembang sehingga respons di atas pada akhirnya tidak akan berlaku lagi. Untuk versi Android Studio 1.2.1.1 saat ini, ada tutorial bagus tentang pengujian di:
http://evgenii.com/blog/testing-activity-in-android-studio-tutorial-part-1/
sumber
Salah satu perubahan besar tampaknya adalah dengan Android Studio, aplikasi pengujian diintegrasikan ke dalam proyek aplikasi.
Saya tidak yakin apakah ini membantu masalah spesifik Anda, tetapi saya menemukan panduan untuk melakukan pengujian dengan proyek Gradle. Panduan pengguna Android Gradle
sumber
Cara termudah yang saya temukan adalah yang efisien dalam posting blog saya berikut ini :
Semoga berhasil membuat kode Anda lebih mudah dibaca, dipelihara, dan diuji dengan baik!
sumber
Android Studio telah menjadi semacam target yang bergerak, pertama menjadi pratinjau pengembang dan sekarang dalam versi beta. Jalur untuk kelas Tes dalam proyek telah berubah selama waktu, tetapi apa pun versi AS yang Anda gunakan, jalur tersebut dinyatakan dalam file .iml Anda. Saat ini, dengan versi 0.8.3, Anda akan menemukan yang berikut ini di dalam file iml bagian dalam:
File .iml memberi tahu Anda di mana harus menempatkan kelas pengujian Anda.
sumber
Mulai Android Studio 1.1, kami memiliki dukungan resmi (eksperimental) untuk menulis Pengujian Unit (Roboelectric juga berfungsi).
Sumber: https://sites.google.com/a/android.com/tools/tech-docs/unit-testing-support
sumber
Tambahkan di bawah lib di dalam file gradle
Buat kelas HomeActivityTest di dalam direktori androidTest dan sebelum menjalankan pengujian, tambahkan string flurry_api_key dan sender_id di dalam file sumber daya string dan ubah nilai untuk kasus kegagalan dan keberhasilan.
sumber