【发布时间】:2013-08-18 10:10:32
【问题描述】:
我正在使用 RavenDB 开发 WebAPI 应用程序。 我有几个 XUnit 测试有类似的大纲:
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;
但它没有帮助。
【问题讨论】: