취성 시험을 피하려고합니다. 잘못된 데이터가 전달되면 메서드에서 예외를 throw하고 어느 것이 든 상관하지 않는다고 주장하고 싶습니다.MSTests에서 예외를 잡을 수 있습니까?
Take String.IsNullOrEmpty 예를 들어 문자열이 비어있는 경우 nullreference 예외를 던지고 싶지 않으십니까? null 인 경우 argumentException을 던질 수 있다고 가정합니다. null 대 빈에 대한 별도의 보호 조항을 갖는 것이 좋은 생각이라고는 생각지 않습니다. 예외없이 내 단위에서 예외가 발생한다는 것을 주장 할 수 있기를 바랍니다.
[ExpectedException(typeof(Exception))]
을 사용하면 예외 유형이 예외에서 상속되어야한다는 오류가 발생합니다. 예외가 던져지지 않으면 Assert.Fail이있는 try/catch 블록입니다. 더 나은/깨끗한 방법이 있습니까?
나는 예외 예외를 잡는 것에 대한 장점을 볼 수 있다고 생각하는데,이 상황에서 나는 문자열 null (null 참조 예외?) 대 문자열 처리에 대한 감각이 없기 때문에 주로 관심이 많았다. argumentexception) 패러다임을 사용하고 예외 유형을 무시하고이 경우 예외가 throw되는지 확인하는 것이 좋을 것이라고 생각했습니다. 테스트를 덜 부서지기는하지만, 잘못된 이유로 실패 할 위험이 있습니다. 나는 다른 테스트가 '다른 이유'를 잡을 것이라고 생각했다. – Maslow
잘못된 이유로 실패 할 수 있다면 테스트가 과민하지 않겠는가? 이 테스트는 확실히 '신뢰성이 떨어집니다'. – JChristian