2
การทดสอบหน่วยถือว่ามีความเปราะหรือไม่ถ้ามันล้มเหลวเมื่อตรรกะทางธุรกิจเปลี่ยนไป?
โปรดดูรหัสด้านล่าง; มันทดสอบเพื่อดูว่าบุคคลที่มีเพศหญิงมีสิทธิ์ได้รับข้อเสนอ 1: [Fact] public void ReturnsFalseWhenGivenAPersonWithAGenderOfFemale() { var personId = Guid.NewGuid(); var gender = "F"; var person = new Person(personId, gender); var id = Guid.NewGuid(); var offer1 = new Offer1(id,"Offer1"); Assert.False(offer1.IsEligible(person)); } การทดสอบหน่วยนี้สำเร็จ อย่างไรก็ตามจะล้มเหลวหากมีการเสนอ 'Offer1' ให้กับสตรีในอนาคต เป็นที่ยอมรับหรือไม่ - ถ้าตรรกะทางธุรกิจโดยรอบเสนอ 1 การเปลี่ยนแปลงการทดสอบหน่วยจะต้องเปลี่ยน โปรดทราบว่าในบางกรณี (สำหรับข้อเสนอบางอย่าง) ตรรกะทางธุรกิจจะเปลี่ยนไปในฐานข้อมูลเช่นนี้: update Offers set Gender='M' where …