繁体   English   中英

为什么单元测试在第一次运行时会失败?

[英]Why does unit test fail on first run?

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

我正在尝试测试是否可以在安装了城堡温莎容器后解决它们。

[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'转换为一种。 找不到程序集。 确保已部署该名称,并且未键入错误的名称。

据我所见,测试项目中的代码与生产代码相同(似乎按预期运行)。

您是否发现上述任何问题? 为什么测试以上述方式成功?

我确定这是由于解决方案中的项目相互引用的方式所致,通过更改某些引用的方向可以解决该问题-谢谢您的关注

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM