.net에서는 Java와 달리 메소드가 기본적으로 가상이 아닙니다. 대부분의 모의 객체 프레임 워크를 사용하려면 모의 객체에서 사용하고자하는 메소드를 가상 객체로 '실제'객체에 표시해야합니다. 그렇지 않으면 테스트중인 클래스를 모의 할 수있는 인터페이스가 있어야합니다. 구현 대신에 수락하십시오.개체 조롱 - 모든 메서드를 가상 또는 인터페이스로 선언 하시겠습니까?
모든 메소드를 가상으로 표시하는 것은 좋지 않지만 모든 단일 클래스에 대한 인터페이스를 정의하는 것은 나쁜 형태처럼 보입니다.
가장 좋은 방법은 무엇입니까?
나는 인터페이스의 계획된 구현으로 테스트 복식을 다루는 아이디어를 좋아합니다. 클래스 디자인의 일부가 아니라면 다른 사람들을 가상으로 만드는 것을 좋아하는지 모르겠지만, 나중에 뭔가를 조롱 할 필요가있는 경우 다시 코드를 변경해야합니다. – dnewcome