我正在使用 xUnit 2.0集合装置在许多不同的测试类之间共享一个通用的数据库设置/拆卸。夹具还提供了一些辅助属性,所以我将它注入到每个测试类中。
我在文档中重新创建了示例,但是当我运行测试时,它立即失败:
以下构造函数参数没有匹配的夹具数据: IntegrationTestFixture 夹具
无论我使用的是 xUnit Facts 还是 Theories,或者我使用的是哪个测试运行器,这似乎都会发生。
夹具:
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
}
}