2012-11-28 6 views
1

나는 Pex, Extensions Writer Handbook을 통과했지만이 문서는 단지 5 페이지이며 정교하지는 않습니다. 확장성에 대해 좀 더 알고 싶습니다.PEX의 확장 기능

다른 테스트 프레임 워크와 DySy 및 ASE 확장에 대해 pex를 확장 한 http://pex.codeplex.com/으로갔습니다. 그러나, 그것은 pex version 0.18로 다시 쓰 였고 현재는 0.94.x입니다. 많은 수업이 리팩토링되고 변경되었습니다. 따라서 컴파일 할 수 없습니다.

나는 어디에서 시작 했는가, 나는 나의 논리에 따라 시험 방법 이름 창조를 확장 할 필요가있다, 어디에서 시작해야 하는가? 연구 및 참고 용으로 사용할 수있는 pex 0.94.x에 대해 웹에서 사용할 수있는 오픈 소스 프로젝트가 있습니까? 자네 말이 맞아

+0

나는 거의 같은 시나리오에 관심에이 코드를 볼 수있는 시험 방법 이름 생성을 변경 도움이되지 않습니다 .. – fsl

답변

0

는 핸드북 내가이 블로그 http://tech.rofas.net/?tag=/code

class KeepOriginalTestNamesAttribute : PexTestNamerAttributeBase 
{ 
    protected override IPexTestNamer CreateTestNamer(IPexExplorationComponent host) 
    { 
     return new TestNamer(host); 
    } 

    class TestNamer : PexExplorationComponentElementBase, IPexTestNamer 
    { 
     private readonly SafeSet<string> _names; 

     public TestNamer(IPexExplorationComponent host) : base(host) 
     { 
      _names = new SafeSet<string>(); 
     } 

     public bool TryCreateTestName(IPexGeneratedTest test, out string testName) 
     { 
      var template = ReflectionHelper.EscapeForMetadataName(test.ExplorationName.Method.ShortName); 
      testName = MetadataHelper.GetUniqueNumberedName(_names, template); 
      _names.Add(testName); 
      Debug.WriteLine("*** " + testName + " ***"); 
      Debug.WriteLine(test.BodyCode); 

      return true; 
     } 
    } 
}