Я пытаюсь сделать следующее в проекте 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()
{
}
}
Это очень странно, потому что он отлично работает в шаблонах WebAPI и MVC при использовании в Startup.cs. Кроме того, этот код ранее работал в 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);
}
}