当我从解决方案级别或测试运行器运行所有测试时,我有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'到一个类型。没有找到大会。确保它已部署且名称未输入错误。
据我所知,我的测试项目中的代码与我的生产代码相同(看起来按预期运行)。
您认为上述问题有什么问题吗? 为什么测试以上述方式成功?
答案 0 :(得分:0)
我确定这是由于解决方案中的项目相互引用的方式,通过改变一些引用的方向来解决问题 - 谢谢你的看法