我有一个带有需要IService的构造函数的测试类。

public class ConsumerTests
{
    private readonly IService _service;
    public ConsumerTests(IService servie)
    {
      _service = service;
    }

    [Fact]
    public void Should_()
    {
       //use _service
    }
}

我想插件我的选择的DI容器,以构建测试类

xUnit 是否可能?

最佳答案

是的,Xunit.DependencyInjection是可能的

Install-Package Xunit.DependencyInjection
您可以注入(inject)服务
[assembly: TestFramework("Your.Test.Project.Startup", "AssemblyName")]

namespace Your.Test.Project
{
    public class Startup : DependencyInjectionTestFramework
    {
        public Startup(IMessageSink messageSink) : base(messageSink) { }

        protected override void ConfigureServices(IServiceCollection services)
        {
            services.AddTransient<IDependency, DependencyClass>();
        }
    }
}
https://github.com/pengweiqhca/Xunit.DependencyInjection

关于unit-testing - 是否可以在xUnit中使用依赖注入(inject)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39131219/

10-12 17:45