Tôi đang cố gắng xây dựng một số trường hợp thử nghiệm và đã đọc rằng bạn nên thử và giới hạn số lượng xác nhận cho mỗi trường hợp thử nghiệm.
Vì vậy, câu hỏi của tôi là, cách tốt nhất để kiểm tra một chức năng với nhiều đầu vào là gì. Ví dụ, tôi có một hàm phân tích một chuỗi từ người dùng và trả về số phút. Chuỗi có thể ở dạng "5w6h2d1m"
, trong đó w, h, d, m
tương ứng với số tuần, giờ, ngày và phút.
Nếu tôi muốn làm theo '1 xác nhận cho mỗi quy tắc kiểm tra', tôi có phải thực hiện nhiều thử nghiệm cho mỗi biến thể của đầu vào không? Điều đó có vẻ ngớ ngẩn vì vậy thay vào đó tôi chỉ có một cái gì đó như:
self.assertEqual(parse_date('5m'), 5)
self.assertEqual(parse_date('5h'), 300)
self.assertEqual(parse_date('5d') ,7200)
self.assertEqual(parse_date('1d4h20m'), 1700)
Trong một trường hợp thử nghiệm. Có cách nào tốt hơn?