일부 단위 테스트를 시도하고 인터페이스가 아닌 클래스 인스턴스를 사용하는 메서드를 테스트하는 문제가 발생했습니다. 이 경우 나는 MS Moles가 나를 도울 수 있다는 것을 알게되었습니다. 그러나 그들은 타입 캐스팅 상황에 친숙하지 않은 것으로 보인다. 그리고 아무런 정보도 찾지 못했고이 상황을 어떻게 처리해야하는지에 대한 질문도 없었습니다. 예 : Microsoft Moles and type casting
public class ClassA
{
public int Number {get {return 10;}}
}
public class ClassB
{
public int Count1(ClassA arg) { return arg.Number; }
public int Count2(object arg) { return (arg as ClassA).Number; }
}
하고있는 동안
이 잘var cl = new MolesUnitTesting.Moles.MClassA();
MolesUnitTesting.Moles.MClassA.AllInstances.NumberGet = t1 => 20;
첫 번째 Count
작품을 테스트하고 20을 반환하지만 두 번째 반환 Null
에 캐스팅. 인터페이스 및 일반적인 조롱을 사용하지 않고 그러한 방법을 테스트 할 수있는 방법이 있습니까? 나를 도와 줄 수있는 다른 라이브러리가 있다면 그것의 이름을 알려주십시오. 대신 다음을 수행 할 수있는 ClassA
유형의 모든 인스턴스를 조롱의
감사 :
MoleBase<ClassA>
에서 상속 생성 몰 클래스MClassA
는, 다음과 같은 암시 적 연산자를 정의하기 때문에이유
Count1(target)
작품이다. 이전에 나는 또한 무덤 클래스에서 Instance를 사용하려고 시도했지만 나에게 원래 값을 반환했지만 이제는 모두 괜찮습니다. 나에게 마술처럼 보입니다. – Ritro