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

本文关键字:运行时 失败 第一次 单元测试 为什么 | 更新日期: 2023-09-27 18:24:19

当我从解决方案级别或测试运行器运行所有测试时,我有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.Service.LoggingLog4netIntegration,Version=3.3.0.0,Culture=neutral,PublicKeyToken=407dd0808d44fbdc"转换为类型。未找到程序集。请确保它已部署并且名称没有键入错误。

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

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

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

我确定这是由于解决方案中的项目相互引用的方式,通过更改一些引用的方向,它解决了问题-感谢您查看