Я использую XUnit 2,0 коллекции светильников, чтобы разделить общую базу данных установки/демонтажа между множеством различных тестовых классов. Прибор также предоставляет некоторые вспомогательные свойства, поэтому я вставляю их в каждый класс тестов.
Я воссоздал этот пример в документах, но когда я запускаю тест, он немедленно сбой:
Следующие параметры конструктора не имели соответствующих данных прибора: IntegrationTestFixture fixture
Это, похоже, происходит независимо от того, использую ли я факты или теории xUnit или какой тестовый бегун я использую.
Крепеж:
public class IntegrationTestFixture : IDisposable
{
public IntegrationTestFixture()
{
// (setup code)
this.GeneratedTestName = [randomly generated];
}
public void Dispose()
{
// (teardown code)
}
public string GeneratedTestName { get; private set; }
}
Определение коллекции:
[CollectionDefinition("Live tests")]
public class IntegrationTestCollection : ICollectionFixture<IntegrationTestFixture>
{
// Intentionally left blank.
// This class only serves as an anchor for CollectionDefinition.
}
Контрольная работа:
[CollectionDefinition("Live tests")]
public class SomeTests
{
private readonly IntegrationTestFixture fixture;
public SomeTests(IntegrationTestFixture fixture)
{
this.fixture = fixture;
}
[Fact]
public void MyTestMethod()
{
// ... test here
}
}