2010-05-22 3 views
1

BDD에 대해 MSpec을 사용하기 시작했으며 오래 전부터 조롱 프레임 워크로 Moq을 사용합니다. 그러나 그들은 모두 It을 정의합니다. 즉, It을 사용할 때마다 명시 적으로 네임 스페이스를 지정할 필요없이 동일한 코드 파일에 using Moqusing Machine.Specifications을 가질 수 없습니다. MSpec을 사용하는 사람이라면 누구나이 옵션을 알 수 없습니다. 대리인을 "상속"할 수 있습니까? Moq와 MSpec을 충돌없이 결합하는 방법을 찾고 있습니다.

나는이 문제에 대한 해결책을 인터넷 검색 및 this blogger는 자신을 위해 MSpec를 포크 한 것을 언급하고 Given, When, Then에 대한 paralell 지원을 구현했습니다.

이 작업을하고 싶습니다. 그러나 에 대한 참조를 찾고 전체 프레임 워크를 거치지 않고도 Given을 선언하는 방법을 알아낼 수 없으며 코드를 변경하여 원하는대로 일치시킬 수 있습니다. 좋아. 참고로

Establish, BecauseIt는 다음과 같은 방법으로 선언됩니다

public delegate void Establish(); 
public delegate void Because(); 
public delegate void It(); 

나는 코드가 Establish을 찾습니다 어디서나 Given도 OK되도록 어떻게 든, Given을 선언하는 것입니다 무엇이 필요 .

+0

속는 [방법-DO-I를 작성-A-새로운 델리게이트 타입 기반 - 온 - AN-기존 온 - 인 - C]를 (http://stackoverflow.com/questions/ 861835/how-do-i-create-a-new-delegate-type-on-a-existing-in-c-rq = 1) – nawfal

답변

1

오히려 충돌을 극복하기 위해 정규화 된 형식 이름을 사용하는 것보다, 당신은 당신이 다음 충돌없이 MadeUpName을 사용할 수 있습니다 :,

using MadeUpName = System.Windows.Forms.SomeClass; 

을 예컨대을 유형 이름을 별명을 "사용"사용할 수 있습니다.

MadeUpName obj = new MadeUpName(); 
+0

현재로서는 가능한 해결 방법이지만, 각 사양 파일의 맨 위에 using 문을 포함시켜야합니다. 내가 그것을 피할 수있는 방법이 없을까? –

+0

내가 아는 한은 아닙니다. VS를 통해 사양 파일을 추가 하시겠습니까? 기본 클래스 템플리트 파일에서 가져 오기를 사용하여 기본값을로드하는 것과 같은 방식으로 기본 VS 템플리트를 일반 템플릿을 포함하도록 수정할 수 있습니다. –

+0

나는 그것이 충분하다고 생각한다. 감사! –

관련 문제