2011-08-05 3 views
5

나는 F # 프로젝트에 PEX를 사용하여 시도하고있다하지만 난 도움 부탁드립니다있는 몇 가지 문제에 직면 한 :PEX와 F # 2010 궁극적 인

  1. 비주얼 스튜디오 PEX 추가 기능이 반 근무를 복잡한 프로젝트 탐사에는 적합하지 않습니다.

  2. 그 후 Visual Studio 2010 내에서 Pex Exploration을 실행할 때마다 !warning! [metadata] no explorations found after applying all filters; did you forget a [PexClass] or [PexMethod] attribute? 오류 메시지가 나타납니다. 탐색을 수행 할 때 Visual Studio에서 실행 한 명령을 복사하여 붙여 넣은 다음 sourceFilter와 같은 일부 특성을 제거하고 명령 콘솔에서 실행하면 몇 가지 테스트가 생성됩니다. Visual Studio에서 잘못된 명령을 생성하는 이유는 무엇입니까?

  3. 잠시 후 Microsoft.Pex.Framework.dll이 .Net 참조 목록에서 사라지고 파일 경로를 사용하여 수동으로 참조해야합니다. 그렇지 않으면 더 이상 참조 할 수없고 제거해야합니다./Pex를 다시 설치하십시오. 나는 C# 프로젝트에서 작업 할 때 (A reference to C:\Program Files (x86)\Microsoft Moles\PublicAssemblie\Microsoft.Pex.Framework.dll could not be added. Please make sure that the file is accessible, and that it is a valid assembly or COM component.)

이러한 모든 문제가 발생하지 않습니다.

문제 1 2 3이 학술적 버전에서 발생했습니다.

MSDN 구독자 용 버전을 사용하면 Visual Studio (Visual Studio 2010 Ultimate NO SP1)에서 작동하지 않습니다. 그러나 명령 프롬프트에서 작동했습니다. 나는이 버전에서 3 번 문제에 직면하지 않았다.

Visual Studio 내에서 F #으로 작업하는 Pex를 관리 할 수있는 사람이 있습니까? 네가 할 수 있다면 당신이 어떻게했는지 말해 줄 수 있니? 어떤 버전 (VS 및 Pex)을 사용하십니까?

+0

http://social.msdn.microsoft.com/Forums/en-US/pex/threads/ – GregC

+0

에서 포럼을 방문하고 싶습니다. 지난 포럼의 질문과 답변을 검색 할 수 있습니다. 하지만 그 포럼은 여기에 StackOverflow에 질문을 게시하기 위해 보관되었습니다. 참조 : http://bit.ly/nj252B –

+0

Pex.exe 주위에 래퍼를 만들었고 F # 프로젝트와 Visual Studio 통합을 사용하지 않았습니다. / – Nicolas

답변

1

저는 Fex로 Pex를 성공적으로 운영했습니다. 내 다운로드 폴더를 믿는다면 사용한 버전은 Microsoft Pex 및 Moles 0.94.51006.1 릴리스의 학술적 버전 (x86)이었습니다. 설치 파일의 이름은 pex.academic.x86.msi입니다.

나는 그 버전이 당신보다 앞선 것인지 잘 모릅니다.

필자의 실험에서 얻은 인상은 Pex와 F #이 아주 좋은 조합이 아니었다는 것입니다. Pex는 null 입력이있는 테스트 사례를 만들 것을 주장했습니다. F #에서 null 값을 생성하는 것이 모두 공통적 인 것은 아니기 때문에 일반적으로 관심있는 시나리오가 아닙니다. 그것들을 제거하기위한 많은 가정을 추가하면 Pex가 테스트 케이스를 생성 할 수 없게되었다. 필자가 테스트 한 기능은 너무 복잡하여 필자는 Pex의 아이디어를 여전히 좋아하며 더 작고/더 쉬운 코드에서 다시 시도 할 수 있습니다.

VS 2010에서 Pex와 GUI를 사용하면 비교적 잘 작동하지만 불만은 없습니다.