Katakanlah saya punya metode seperti ini:
public void OrderNewWidget(Widget widget)
{
if ((widget.PartNumber > 0) && (widget.PartAvailable))
{
WigdetOrderingService.OrderNewWidgetAsync(widget.PartNumber);
}
}
Saya memiliki beberapa metode seperti itu dalam kode saya (bagian depan ke panggilan Layanan Web async).
Saya berdebat apakah berguna untuk membuat mereka dilindungi dengan unit test. Ya ada logika di sini, tetapi itu hanya logika penjaga. (Artinya saya memastikan saya memiliki barang yang saya butuhkan sebelum saya mengizinkan panggilan layanan web terjadi.)
Sebagian dari saya mengatakan "yakin Anda dapat mengujinya, tetapi tidak sepadan dengan waktunya" (Saya sedang mengerjakan proyek yang sudah terlambat).
Tetapi sisi lain dari saya mengatakan, jika Anda tidak mengujinya, dan seseorang mengganti Pengawal, maka mungkin ada masalah.
Tetapi bagian pertama dari saya mengatakan kembali, jika seseorang mengganti penjaga, maka Anda hanya membuat lebih banyak pekerjaan untuk mereka (karena sekarang mereka harus mengubah penjaga dan unit tes untuk penjaga).
Misalnya, jika layanan saya memikul tanggung jawab untuk memeriksa ketersediaan Widget maka saya mungkin tidak ingin penjaga itu lagi. Jika sedang dalam uji unit, saya harus mengubah dua tempat sekarang.
Saya melihat pro dan kontra dalam kedua cara. Jadi saya pikir saya akan bertanya apa yang telah dilakukan orang lain.
but it is not worth the time" (I am on a project that is already behind schedule).
Kami adalah pengembang perangkat lunak. Satu-satunya waktu kami sesuai jadwal adalah ketika kami mati :)