为什么首次运行时单元测试失败?

时间:2014-09-25 13:29:15

标签: c# unit-testing castle-windsor

当我从解决方案级别或测试运行器运行所有测试时,我有7个单元测试失败,但是,当我从项目级别或测试运行器中的项目运行测试时,他们成功了。

我试图测试一下,一旦安装了Castle Windsor容器,我就可以解析它。

[TestFixture]
public class Having_installed_the_request_processors
{
    private IWindsorContainer _container;

    [SetUp]
    public void Setup()
    {
        _container = new WindsorContainer();
        _container.Install(FromAssembly.Containing<RequestProcessorInstaller>());
    }

    [TearDown]
    public void Teardown()
    {
        ((WindsorContainer)this._container).Dispose();
        _container = null;
    }

    [Test]
    public void can_resolve_the_job_status_request_processor()
    {
        Assert.That(_container.Resolve<IJobStatusRequestProcessor>(), Is.Not.Null);
    }
}

这是返回的错误:

  

SetUp:Castle.MicroKernel.SubSystems.Conversion.ConverterException:无法转换字符串'Castle.Services.Logging.Log4netIntegration.Log4netFactory,Castle.Services.Logging.Log4netIntegration,Version = 3.3.0.0,Culture = neutral,PublicKeyToken = 407dd0808d44fbdc'到一个类型。没有找到大会。确保它已部署且名称未输入错误。

据我所知,我的测试项目中的代码与我的生产代码相同(看起来按预期运行)。

您认为上述问题有什么问题吗? 为什么测试以上述方式成功?

1 个答案:

答案 0 :(得分:0)

我确定这是由于解决方案中的项目相互引用的方式,通过改变一些引用的方向来解决问题 - 谢谢你的看法