English 中文(简体)
多个项目和单位测试
原标题:Castle Windsor Configuration Over Multiple Projects and unit testing

我有多个项目的解决办法,其中一个项目是我的服务班,向长期管理人员打电话。

我想写一个单位测试如下:

 [Test]
    public void Create_HappyPath_Success()
    {
        // Arrange
        UnitOfMeasure unitOfMeasure = new UnitOfMeasure();
        unitOfMeasure.Code = "Some new unit of measure";
        unitOfMeasure.DataOwner = 1;

        // Act
        this.UoMService.Create(unitOfMeasure);  // Fails here as UoMService is null

        // Assert something

    }

现在,我只字不提:

 this.UoMService.Create(unitOfMeasure);  // Fails here as UoMService is null

我认为,这是因为,Cas 温莎没有被叫来,因此UoM Service没有被当到。 我的“温莎”应用装置在另一个项目中即我的伙伴关系中界定。 NET MVC项目。 因此,我的第一个问题是,能否再利用安装装置进行我的部队测试。

现在,为了解决这一问题,我通过将安装者与我的网络项目连接起来,在我的单位测试项目中创建了一个新的安装器。 随后,我在我的设立中使用了以下法典:

  [SetUp]
    public void ControllersInstallerTests()
    {
        this.containerWithControllers = new WindsorContainer();
        IoC.Initialize(this.containerWithControllers);

        this.containerWithControllers.Install(FromAssembly.This());
    }

在我进行测试时,我有以下错误:

SetUp : Castle.Windsor.Configuration.Interpreters.XmlProcessor.ConfigurationProcessingException : Error processing node resource FileResource: [] [] ----> Castle.Core.Resource.ResourceException : File C:ProjectsDavidPMServicesMyProject.Services.ServiceImpl.Test.UnitinDebugConfigWindsor.config could not be found

问题在于它为什么看着双目双眼。

作为一个与卡斯温莎的新堡垒,我不相信我应该做些什么来把我的单位测试带入卡斯温莎。

最佳回答

您在单位测试中应打上你的IoC集装箱。 在生产过程中,你的IoC集装箱将解决依赖问题。 在单位测试期间,you作为检测的一部分建立了附属设施——通常使用模拟框架,以便你能够单独测试。

问题回答

将其汇号复制到目录





相关问题
castle IOC - resolving circular references

quick question for my MVP implementation: currently I have the code below, in which both the presenter and view are resolved via the container. Then the presenter calls View.Init to pass himself to ...

Castle Windsor auto registration

I currently have the following registration set up private static void AddFrameworkComponentsTo(IWindsorContainer container) { container.AddComponent<ITypeConverter, TypeConversionFacade>();...

Authorization and Windsor

I m trying to implement my custom authorize attribute like: public class MyCustomAuth : AuthorizeAttribute { private readonly IUserService _userService; public MyCustomAuth(IUserService ...

How can I override a component registered in Castle Windsor?

I m just starting with Windsor, so please be gentle :) I have a scenario where I want to be able to override/replace components placed inside a windsor container. Read on ... In my prod code, I want ...

热门标签