1
에서 보낸 객체 내가 이벤트 핸들러과 같이이 있다고 가정하자? 내가 보낸 사람이 항상 MyClass에 될 것이라는 점을 알고 있지만 난 그냥 내가 필요한 것입니다 안전을 위해 생각 : 유형이 아닌 MyClass에있다단위 테스트 핸들러
if (myObj != null) //Close it
경우 myObj로는 null이됩니다. 내가 null이 아닌지 테스트하는 최선의 방법을 알기 때문에 단위 테스트를 작성하여 MyClass가 아닌 다른 유형의 보낸 사람이 DoSomethingImportant를 호출 할 때 null 체크가 필요하다는 것을 증명할 수 있습니까?
if (myobj == null) ... – Lloyd
@Lloyd 여전히 메서드를 호출 할 수 있도록 보낸 사람을 캐스팅해야합니다. – Jon
기본적으로 테스트를 요청하고 있습니다. 'as'가해야할 일을하는지 여부 - IMHO C#이 문서화 된 방식대로 작동하는지 여부에 관계없이 "단위 테스트"를 수행 할 필요는 없습니다. 'as'는 사용자가 캐스팅하려는 객체가 해당 클래스 또는 해당 클래스의 하위 유형이 아니면 단순히 캐스팅하지 않습니다. 정말로 'as'를 사용하여 안전하게 형변환하는 코드를 작성하거나 'is'키워드를 사용하여 직접 유형을 테스트하십시오. 또는 이벤트 처리기는 클래스의 메서드 일뿐 아니라 모든 클래스와 마찬가지로 테스트를 작성합니다. –