임의 길이의 임의 암호를 생성하지만 정의 된 최소 길이와 최대 길이 사이로 제한되는 클래스가 있습니다.
나는 단위 테스트를 만들고 있는데,이 수업에서 재미있는 작은 걸림돌에 부딪쳤다. 단위 테스트의 기본 개념은 반복 가능해야한다는 것입니다. 테스트를 백 번 실행하면 동일한 결과가 백 번 나옵니다. 예상되거나 초기 상태에 있거나 없을 수있는 일부 리소스에 의존하는 경우 테스트가 실제로 항상 반복 가능하도록 해당 리소스를 조롱해야합니다.
그러나 SUT가 불확실한 출력을 생성해야하는 경우는 어떻습니까?
최소 및 최대 길이를 동일한 값으로 고정하면 생성 된 비밀번호가 예상 길이인지 쉽게 확인할 수 있습니다. 그러나 허용 가능한 길이 (예 : 15-20 문자) 범위를 지정하면 테스트를 100 번 실행하고 100 패스를 얻을 수 있지만 101 번째 실행에서는 9 문자열을 다시 얻을 수 있다는 문제가 있습니다.
핵심적으로 상당히 간단한 암호 클래스의 경우 큰 문제를 나타내지 않아야합니다. 그러나 그것은 일반적인 경우에 대해 생각하게했습니다. 설계 상 불확실한 출력을 생성하는 SUT를 처리 할 때 일반적으로 가장 적합한 전략은 무엇입니까?