이 두 줄의 코드는 제목에서 언급 한 오류를 나타냅니다. 나는 TestClass
<method name>은 메소드 그룹이기 때문에 할당 할 수 없습니다. 오류 (Moles 프레임 워크 사용)
var stubTestClass = new StubsTutorial.Moles.STestClass();
stubTestClass.WriteStuff =() => "Moled in static class!";
에 대한 스텁을 정의하는 것을 시도하고있다 그리고이 함수 WriteStuff은() 내가 잘못 가고 어디에 확실하지 않다
public class TestClass {
public string WriteStuff() {
return "Stuff written in main class.";
}
}
을 정의하는 방법이다. 그리고 방향이 나를 도울 것입니다. 당신은 또한 가상 노출이 아닌 추상 클래스에 대한 스텁을 생성 몰을 구성 할 수 있지만
예. 생성 된 스텁은 부분 스텁이므로 비 가상 멤버를 인스턴스화 할 수 없습니다. 옵션은 Moles를 사용하는 것입니다. 감사. – TheSilverBullet
@ TheSilverBullet주의해야 할 중요한 점은'WriteStuff'가 고려중인 Moles 클래스 내부의 메소드이거나 여전히 델리게이트 타입의 프로퍼티, 즉'Func '타입의 프로퍼티로 변환 된 경우입니다 이 경우 (매개 변수가 0이고 반환 형식이'string' 인 메소드를 나타냄).난'STestClass' ("스텁"버전)은 특별히 이름이 지정된 필드 (아마도'WriteStuff'를 가진 무언가라고 불리는)에 델리게이트를 갖는 것으로 생각합니다. 'WriteStuff' 메소드는 여전히 메소드입니다. 즉, 테스트중인 메소드에 스터브'STestClass'를 전달할 수 있습니다. –