1

我已经使用Spring. 在这个测试中,我使用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”表示不满足的依赖关系:设置此属性值或禁用此对象的依赖关系检查。

如何禁用TestContext属性的依赖注入?

4

1 回答 1

2

默认情况下 Spring.net 使用按类型自动装配来填充TestClasses 上的属性;iirc 你可以通过强制字段级注入来覆盖它。在测试中配置字段级注入时,您可能会发现我的这个较早的答案很有用。我认为这是你的情况。

禁用属性的依赖检查TestContext需要配置你的Test类,这基本上会破坏AbstractDependencyInjectionSpringContextTests首先使用的目的。我认为这是一条正常的自动装配消息,在集成测试的上下文中有些误导。

您可以选择完全不使用依赖注入,方法是不继承自基AbstractDependencyInjectionSpringContextTests类,而是继承基类AbstractSpringContextTests;但这有根本不进行任何注射的缺点。

于 2013-05-14T12:18:33.870 回答