Tôi có một đoạn mã trông giống như thế này:
function bool PassesBusinessRules()
{
bool meetsBusinessRules = false;
if (PassesBusinessRule1
&& PassesBusinessRule2
&& PassesBusinessRule3)
{
meetsBusinessRules= true;
}
return meetsBusinessRules;
}
Tôi tin rằng nên có bốn bài kiểm tra đơn vị cho chức năng đặc biệt này. Ba để kiểm tra từng điều kiện trong câu lệnh if và đảm bảo nó trả về false. Và một thử nghiệm khác đảm bảo chức năng trả về đúng.
Câu hỏi: Có nên thực sự có mười bài kiểm tra đơn vị thay thế? Chín mà kiểm tra từng con đường thất bại có thể. I E:
- Sai Sai Sai
- Sai Sai Đúng
- Sai Đúng Sai
Và như vậy cho mỗi sự kết hợp có thể.
Tôi nghĩ đó là quá mức cần thiết, nhưng một số thành viên khác trong nhóm của tôi thì không. Cách tôi nhìn nhận là nếu BusinessRule1 thất bại thì nó sẽ luôn trả về false, không quan trọng nếu nó được kiểm tra trước hay cuối cùng.