2013-05-14 3 views
1

Spring을 사용하여 MSTest를 만들었습니다. 이 테스트에서는 TestContext을 사용합니다.TestContext에 대한 종속성 검사 사용 안 함

[TestClass] 
public class Test : AbstractDependencyInjectionSpringContextTests 
{ 
    [TestMethod] 
    public void Test() 
    { 
    } 

    protected override string[] ConfigLocations 
    { 
     get 
     { 
      return new string[] { "~/Configuration/spring.config"}; 
     } 
    } 

    public TestContext TestContext { get; set; } 
} 

나는 다음과 같은 오류가 테스트를 실행하면 :

가 어떻게이 TestContext 속성에 대한 의존성 주입을 사용하지 않도록 설정할 수 있습니다

Unsatisfied dependency expressed through object property 'TestContext': Set this property value or disable dependency checking for this object..

?

답변

2

기본적으로 Spring.net은 형식에 따라 autowire를 사용하여 TestClass es에 속성을 채 웁니다. iirc 당신은 field level injection을 강요함으로써 이것을 무시할 수 있습니다. 테스트에서 필드 레벨 주입을 구성 할 때이 값은 earlier answer of mine useful입니다. 나는 이것이 당신의 경우에가는 길이라고 생각합니다.

TestContext 속성에 대한 종속성 검사를 사용하지 않으려면 Test 클래스를 구성해야합니다. 이는 기본적으로 AbstractDependencyInjectionSpringContextTests을 사용하는 목적을 무효화합니다. 나는 이것이 통합 테스트의 맥락에서 다소 오도 된 일반적인 autowire 메시지라고 생각한다.

AbstractDependencyInjectionSpringContextTests을 상속하지 않고 종속성 주입을 사용하지 않도록 선택할 수 있지만 기본 클래스 AbstractSpringContextTests; 그러나 그것은 주사를 전혀하지 않는 단점이 있습니다.

관련 문제