我有一个带有需要 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>();
}
}
}
关于unit-testing - 是否可以在 xUnit 中使用依赖注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39131219/