2014-02-18 2 views
2

나는 EntityServiceBaseTestClass를 가지고 있고 일반적인 테스트를 가지고있다. 그러나 특정 테스트 도메인에서 클래스를 상속하는 즉시 테스트가 실행되지 않습니다. 그러나 상속 된 테스트 클래스를 기본 테스트 클래스와 동일한 어셈블리에 넣으면 작동합니다. Ho는 다른 어셈블리에 있어도 Visual Studio에서 기본 클래스 테스트를 실행하도록 속일 수 있습니다. 예를 들어 : 파일이 동일한 어셈블리에없는 경우.NET의 기본 클래스에있는 테스트 메서드 호출

**namespace bla bla...Domain.Tests** 
[TestClass] 
    public class EntityServiceBaseTestClass<TDomainEntity, TKey> where TDomainEntity : 
      DomainEntityBase<TDomainEntity, TKey> where TKey : 
      IEquatable<TKey> 
    { 

     [TestMethod] 
     public void CanSaveAddressMustUpdate() 
     { 
      //do generic tests 
     } 
    } 

**namespace bla bla...Domain.Customers.Tests** 
{ 
    [TestClass] 
    public class CustomerTests : EntityServiceBaseTestClass<Address, Guid> 
    { 
     some specific domain tests 
    } 
} 

CanSaveAddressMustUpdate() 호출 받고 있지 않습니다.

여기 msdn 발견 제한에 대한 설명은

:.

"동일한 어셈블리에있는 또 다른 테스트 클래스에서 메서드를 상속 할 수있는 테스트 클래스 이것은 당신이 기본 테스트 클래스의 시험 방법을 만들 수 있다는 것을 의미한다 그런 다음 파생 된 테스트 클래스에서 이러한 메서드를 사용하십시오. "

답변

1

제한 사항이 있으므로 Microsoft에 문서화되어 있으므로 해결 방법을 찾을 수 없습니다.

테스트 프레임 워크를 변경하면됩니다. Nunit을 사용하면 모든 것이 매력처럼 작동합니다 (ReSharper Test Runner로 테스트 됨).

관련 문제