Untuk referensi - http://en.wikipedia.org/wiki/Single_responsibility_principle
Saya memiliki skenario pengujian di mana dalam satu modul aplikasi bertanggung jawab untuk membuat entri buku besar. Ada tiga tugas dasar yang bisa dilakukan -
- Lihat entri buku besar yang ada dalam format tabel.
- Buat entri buku besar baru menggunakan tombol buat.
- Klik pada entri buku besar di tabel (disebutkan dalam pointer pertama) dan lihat detailnya di halaman berikutnya. Anda bisa membatalkan entri buku besar di halaman ini.
(Ada beberapa operasi / validasi lebih di setiap halaman tetapi demi singkatnya saya akan membatasi ini untuk ini)
Jadi saya memutuskan untuk membuat tiga kelas yang berbeda -
- LedgerLandingPage
- BuatNewLedgerEntryPage
- ViewLedgerEntryPage
Kelas-kelas ini menawarkan layanan yang dapat dilakukan di halaman-halaman itu dan tes Selenium menggunakan kelas-kelas ini untuk membawa aplikasi ke keadaan di mana saya bisa membuat pernyataan tertentu.
Ketika saya memeriksanya bersama rekan saya, dia merasa kesal dan meminta saya membuat satu kelas untuk semua. Meskipun saya merasa desain saya jauh lebih bersih, saya ragu apakah saya menggunakan prinsip Single Responsibility