我正在使用xunit来运行测试。它一个接一个地工作得很好但是一旦我并行运行它们就会抛出异常。
System.IO.InvalidDataException : ServiceStackHost.Instance has already been set (BasicAppHost)
at ServiceStack.ServiceStackHost.Init() in C:\BuildAgent\work\799c742886e82e6\src\ServiceStack\ServiceStackHost.cs:line 175
appHost = new BasicAppHost(typeof(AppHost).GetAssembly())
{
ConfigureContainer = container =>
{
container.Register<IDbConnectionFactory>(
new OrmLiteConnectionFactory(":memory:", SqliteDialect.Provider));
}
}
.Init();
答案 0 :(得分:2)
您一次只能为每个AppDomain初始化一个AppHost。如果您要并行运行测试,初始化新的AppHost,则必须在单独的AppDomain中运行。
答案 1 :(得分:0)
您可以使用ICollectionFixture。
在诸如BaseFixture之类的类中初始化appHost。