Menangani Exception: Pemrosesan Pesan
Seperti halnya penggunaan dan penanganan exception merupakan bagian penting dari penulisan kode, menguji exception tersebut juga krusial untuk menguji proyek Anda.
Dalam latihan ini, Anda akan berlatih sintaks asersi instans kelas di JUnit. Anda diberikan sebuah metode yang mengonversi
string menjadi huruf besar, tetapi melempar RuntimeException kustom jika string bernilai null. Tugas Anda adalah menulis unit test
untuk metode tersebut.
Latihan ini merupakan bagian dari kursus
Pengantar Pengujian di Java
Instruksi latihan
- Asersikan bahwa pesan telah dikonversi menjadi huruf besar pada pengujian skenario sukses.
- Gunakan jenis asersi yang benar untuk memverifikasi bahwa exception yang dilempar adalah instance of kelas
RuntimeException. - Masukkan kelas yang diharapkan dari exception tersebut.
- Gunakan asersi yang benar untuk memverifikasi pesan exception.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
public class Main {
public static void main(String[] args) {
launchTestsAndPrint(MessageProcessorTest.class);
}
}
class MessageProcessorTest {
@Test
void processMessage_returnsUppercase() {
String message = "error!";
String expected = "ERROR!";
String actual = MessageProcessor.processMessage(message);
// Assert the message is converted to uppercase
____(expected, actual);
}
@Test
void processMessage_throwsException_whenMessageIsNull() {
String message = null;
Exception expectedException = null;
try {
MessageProcessor.processMessage(message);
} catch (Exception e) {
expectedException = e;
}
// Assert the correct type of exception
____(RuntimeException.class, expectedException);
// Assert the correct exception message
____("Message cannot be null.", expectedException.getMessage());
}
}