1
我正在使用RavenDB进行WebAPI应用程序。 我有一对夫妇的具有一种相似的轮廓的xUnit测试:使用RavenDB运行多个测试
var checkQuery = session.Query<Resource>().Where(x => x.AliasIds.Any(a => a == alias.Id));
PAssert.Throws<InvalidOperationException>(() => checkQuery.Single());
var testString = Guid.NewGuid().ToString();
Controller.Post(testString);
var res = checkQuery.Single();
PAssert.IsTrue(() => res != null);
会发生什么事是,当我在同一时间运行多个测试他们没有在该行
var res = checkQuery.Single();
随着例外:
结果消息信息:System.InvalidOperationException:序列不包含任何元素
我发现:
- 它工作正常,如果我第一次调用checkQuery.Single()评论道。
- 它工作正常,如果我在问题行之前添加Thread.Sleep(1000)。
我尝试添加
store.DatabaseCommands.DisableAllCaching();
store.Conventions.ShouldCacheRequest = _ => false;
,但它并没有帮助。
没有检查它是否是答案,但有没有办法在商店配置中以某种方式设置它? –
请参阅http://stackoverflow.com/a/9059083/634824 –