Teknik pengujian perangkat lunak sangat bervariasi, dan semakin Anda mendidik diri sendiri tentang hal itu, Anda akan mulai melihat banyak panduan yang berbeda (dan terkadang saling bertentangan). Tidak ada 'buku' tunggal untuk dilewati.
Saya pikir Anda berada dalam situasi di mana Anda telah melihat beberapa panduan untuk tes unit yang mengatakan hal-hal seperti
- Setiap tes harus berdiri sendiri, dan tidak terpengaruh oleh tes lain
- Setiap unit tes harus menguji satu hal, dan hanya satu hal
- Tes unit tidak boleh mengenai database
dan seterusnya. Dan semua itu benar, tergantung pada bagaimana Anda mendefinisikan 'unit test' .
Saya akan mendefinisikan 'unit test' sebagai sesuatu seperti: "tes yang melatih satu fungsi untuk satu unit kode, terisolasi dari komponen dependen lainnya".
Di bawah definisi itu, apa yang Anda lakukan (jika perlu menambahkan catatan ke database sebelum Anda dapat menjalankan tes) sama sekali bukan 'unit test', tetapi lebih dari apa yang biasa disebut 'tes integrasi'. (Tes unit yang sebenarnya, menurut definisi saya, tidak akan mengenai database, jadi Anda tidak perlu menambahkan catatan sebelum menghapusnya.)
Tes integrasi akan menjalankan fungsionalitas yang menggunakan banyak komponen (seperti antarmuka pengguna dan database), dan panduan yang akan berlaku untuk pengujian unit tidak harus berlaku untuk pengujian integrasi.
Seperti yang disebutkan orang lain dalam jawaban mereka, apa yang Anda lakukan tidak selalu salah bahkan jika Anda melakukan hal-hal yang bertentangan dengan beberapa panduan tes unit. Sebagai gantinya, cobalah untuk beralasan tentang apa yang sebenarnya Anda uji dalam setiap metode pengujian, dan jika Anda menemukan bahwa Anda memerlukan banyak komponen untuk memenuhi pengujian Anda, dan beberapa komponen memerlukan pra-konfigurasi, maka lakukan dan lakukan.
Tetapi yang paling penting, pahamilah bahwa ada banyak jenis tes perangkat lunak (tes unit, tes sistem, tes integrasi, tes eksplorasi, dll.), Dan jangan mencoba menerapkan pedoman dari satu tipe ke yang lainnya.