다른 (임의의) 입력이있는 호출 방법은 프로세스의 한 부분 일뿐입니다. 또한 각 입력에 대해 올바른 결과를 정의해야하며, 도구가이를 수행 할 수 있다고 생각하지 않습니다.
randoop은 equal
의 매우 기본적인 속성 만 검사하는 것으로 보이는데,이 기능은 유용하지 않으며 정확성에 대한 잘못된 인상을 줄 수도 있습니다 ("이봐, 모든 테스트는 통과하고 내 소프트웨어는 괜찮습니다").)
또한 무작위로 코드 (및 입력)를 생성하면 테스트 결과가 불확실해질 수 있습니다. 코드에서 실제로 결함을 발견 할 수도 있고 그렇지 않을 수도 있습니다. (이 CodeProject article 매우 간단한 설명)
- 당신은 테스트 케이스 생성기를 사용에 관심이있을 수 있습니다 촬영할 수있는 접근 방식에 대해 말했다 는, 빠른 인터넷 검색은 다음의 시작 포인트를 주었다. 그들은 "보일러 판"코드를 생성 할 수 있도록 지원하고 테스트 할 클래스/메소드를 놓치지 않도록 할 수 있습니다. 물론, 생성 된 테스트는 적절한 (즉, 의미있는) 입력 및 (정확한) 출력 값을 정의함으로써 적응 될 필요가있다. "NUnit 테스트 생성기"에 대한 인터넷 검색은 여기에 반복하고 싶지 않은 상용 소프트웨어에 대한 다른 링크를 제공합니다 ...
- NUnit (및 기타 테스트 프레임 워크) 지원 은 매개 변수화 된 테스트를 사용합니다. 전체 입력 시나리오를 테스트 할 수 있습니다. NUnit 들어, 난 당신의 방법에 대한 임의의 입력 (특정 범위에서) 생성 할 수있는 Random 특성을 발견. 위에서 무작위로 테스트 입력에 대해 쓴 것을 기억하십시오.이 테스트의 결과는 자동 또는 회귀 테스트에서 쓸모 없도록 재현 할 수 없습니다.
도 자동 단위 테스트 생성에 대한 내 주장 을 지원할 수 this question (SO에 확실히 다른 사람),보고, 말했다.
내게 단위 테스트를 "자동으로"생성하려는 방법이 명확하지 않습니까? randoop은 임의 코드 (즉, 메소드 호출)를 생성하고 매우 원시적 인 속성이나'equal()'을 검사하는 것 같습니다. .NET에 대해 똑같은 작업을 수행하는 도구를 찾고 있습니까? (그런 도구는 알지 못합니다 ...)? 제 의견으로는 이것은 단위 테스트에 대한 좋은 접근 방법이 아닙니다. – MartinStettner
다른 가능한 값을 가진 클래스의 메소드에 대한 호출을 생성해야하고, 실행 후 테스트가 통과하고 실패한 보고서를 생성해야합니다. 이것은 플러그 여야합니다. - Monodevelop 용. 거기 게임의 proyect가 있습니다 – eduardosufan
테스트 할 클래스가 주어진 클래스의 공용 메소드에 대한 단위 테스트의 골격을 생성 할 도구를 찾고 있습니까? – dgvid