我正在尝试在一个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模板中完美运行,这非常奇怪。此外,此代码先前在dnx中正常工作,但现在我将所有内容更新到RC2和Core CLI后,它无法找到位于xunit类库根目录中的appsettings.json
文件。
以下是我的测试类的样子,您可以看到我如何调用配置:
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);
}
}