我正在尝试在XUnit项目中执行以下操作,以获取我的测试应该使用的数据库的连接字符串:
public class TestFixture : IDisposable
{
public IConfigurationRoot Configuration { get; set; }
public MyFixture()
{
var builder = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
Configuration = builder.Build();
}
public void Dispose()
{
}
}
这很奇怪,因为它在 Startup.cs 中使用时可以在 WebAPI 和 MVC 模板中完美运行。此外,这段代码以前在 RC1 中使用 dnx 工作,但现在我将所有内容更新到 RC2 和 Core CLI,它不再能够找到appsettings.json
xunit 类库根目录中的文件。
这是我的测试类的样子,所以你可以看到我是如何调用配置的:
public class MyTests : IClassFixture<MyFixture>
{
private readonly MyFixture _fixture;
public MyTests(MyFixture fixture)
{
this._fixture = fixture;
}
[Fact]
public void TestCase1()
{
ICarRepository carRepository = new CarRepository(_fixture.Configuration);
}
}