我有一个带有需要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/