Używam xUnit 2.0 collection fixtures, aby udostępnić wspólną konfigurację/przerwanie bazy danych między szeregiem różnych klas testowych. Urządzenie zapewnia również pewne właściwości pomocnicze, więc wprowadzam je do każdej klasy testowej.Urządzenie do zbierania nie wstrzyknie
I odtworzył przykład w docs, ale kiedy uruchomić test, nie jest on natychmiast:
następujące parametry konstruktora nie mają pasujący dane osprzętu: IntegrationTestFixture urządzenie
ten Wydaje się, że dzieje się to niezależnie od tego, czy używam xUnit Facts lub Theories, czy też tego, który test biegacza używam.
Oprawa:
public class IntegrationTestFixture : IDisposable
{
public IntegrationTestFixture()
{
// (setup code)
this.GeneratedTestName = [randomly generated];
}
public void Dispose()
{
// (teardown code)
}
public string GeneratedTestName { get; private set; }
}
definicja Kolekcja:
[CollectionDefinition("Live tests")]
public class IntegrationTestCollection : ICollectionFixture<IntegrationTestFixture>
{
// Intentionally left blank.
// This class only serves as an anchor for CollectionDefinition.
}
Test:
[CollectionDefinition("Live tests")]
public class SomeTests
{
private readonly IntegrationTestFixture fixture;
public SomeTests(IntegrationTestFixture fixture)
{
this.fixture = fixture;
}
[Fact]
public void MyTestMethod()
{
// ... test here
}
}