Я работаю над приложением WebAPI с помощью RavenDB. У меня есть несколько 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 –