Kami memiliki objek
public class MyObject{
protected MyObject(){}
public string Property1 {get;private set;}
public string Property2 {get;private set;}
public string Property3 {get;private set;}
public string Property4 {get;private set;}
public string Property5 {get;private set;}
public string Property6 {get;private set;}
public string Property7 {get;private set;}
public string Property8 {get;private set;}
public string Property9 {get;private set;}
public string Property10 {get;private set;}
}
Dalam kode produksi kami, kami mengisi objek ini melalui automapper. Itu dapat mengakses properti dan mengaturnya dengan benar.
Sekarang ketika kami ingin menguji kelas ini di pipeline masa depan, tidak mungkin untuk mengisi properti dengan nilai dummy (untuk diuji terhadap).
Ada beberapa opsi yang tersedia.
Konstruktor khusus untuk menerima parameter yang diperlukan untuk pengujian dan mengatur properti, saat ini 3 konstruktor diperlukan. Ini tidak bersih karena konstruktor tidak melayani fungsionalitas bisnis apa pun.
Jadikan properti virtual agar kelas bisa terhenti. Tetapi menandai properti virtual tidak memberikan nilai bisnis apa pun dan mencemari kelas saya.
Tambahkan pembangun objek ke kelas untuk membangun objek secara internal. Sekali lagi tidak ada nilai tambah bisnis. Mungkin sedikit lebih bersih tetapi masih banyak kode yang tidak relevan dalam objek domain.
Adakah saran, saran atau opsi alternatif di sini?
sumber