Tôi có một lớp có nghĩa là tạo một mật khẩu ngẫu nhiên có độ dài cũng ngẫu nhiên, nhưng giới hạn ở giữa độ dài tối thiểu và tối đa xác định.
Tôi đang xây dựng các bài kiểm tra đơn vị, và gặp phải một trở ngại nhỏ thú vị với lớp này. Toàn bộ ý tưởng đằng sau một bài kiểm tra đơn vị là nó phải được lặp lại. Nếu bạn chạy thử nghiệm một trăm lần, nó sẽ cho kết quả tương tự một trăm lần. Nếu bạn phụ thuộc vào một số tài nguyên có thể có hoặc không có hoặc có thể ở trạng thái ban đầu mà bạn mong đợi thì bạn có nghĩa là phải chế giễu tài nguyên được đề cập để đảm bảo rằng bài kiểm tra của bạn thực sự luôn lặp lại.
Nhưng những gì về trường hợp SUT được cho là tạo ra đầu ra không xác định?
Nếu tôi sửa độ dài tối thiểu và tối đa thành cùng một giá trị thì tôi có thể dễ dàng kiểm tra xem mật khẩu được tạo có độ dài dự kiến hay không. Nhưng nếu tôi chỉ định một phạm vi độ dài chấp nhận được (giả sử 15 - 20 ký tự), thì bây giờ bạn có vấn đề là bạn có thể chạy thử nghiệm hàng trăm lần và nhận được 100 lượt nhưng trong lần chạy thứ 101, bạn có thể lấy lại chuỗi 9 ký tự.
Trong trường hợp lớp mật khẩu, khá đơn giản ở cốt lõi của nó, nó không nên chứng minh một vấn đề lớn. Nhưng nó khiến tôi suy nghĩ về trường hợp chung. Chiến lược thường được chấp nhận là chiến lược tốt nhất để thực hiện khi xử lý các SUT đang tạo ra sản lượng không xác định theo thiết kế là gì?