Всякий раз, когда я запускаю любой из следующих модульных тестов с подключенным отладчиком, я получаю VerificationException
внутри FluentValidation код в этой точке (опубликует всю трассировку стека позже, если необходимо):
at FluentValidation.Resources.LocalizedStringSource.CreateFromExpression(Expression`1 expression, IResourceAccessorBuilder resourceProviderSelectionStrategy)
in ...\FluentValidation\Resources\LocalizedStringSource.cs:line 66
Тесты:
using FluentValidation;
using Microsoft.VisualStudio.TestTools.UnitTesting;
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
var c = new MyClass();
var v = new MyValidator();
v.Validate(c);
}
[TestMethod]
public void TestMethod2()
{
Exception ex = null;
var done = new ManualResetEvent(false);
ThreadPool.QueueUserWorkItem(
o =>
{
try
{
TestMethod1();
}
catch (Exception e)
{
ex = e;
}
finally
{
done.Set();
}
});
done.WaitOne();
Assert.IsNull(ex);
}
}
public class MyValidator : AbstractValidator<MyClass>
{
public MyValidator()
{
RuleFor(c => c.MyProperty).GreaterThan(0);
}
}
public class MyClass
{
public int MyProperty { get; set; }
}
Я ссылался только на эти сборки в сценарии с одним проектом, с одним проектом, для среды выполнения 4.0.30319:
- FluentValidation v3.0.0.0
- Microsoft.VisualStudio.QualityTools.UnitTestFramework v10.0.0.0
- Система
- System.Core
Некоторые другие пункты:
- Запуск теста без отладчика работает нормально
- Покрытие кода отключено
- Я свел к минимуму ссылочные сборки до минимума
- Я не вижу ошибок в журнале Fusion
- Я пытался применить
SecurityRulesAttribute
из ответа на аналогичный вопрос - Я пыталсянекоторые вещи из поста в блоге VerificationException и тестирование
- Происходит как на хостах MSTest, так и на хостах Resharper (не пробовал NUnit, поскольку общий поток выглядит как «под отладчиком».
- Происходит при запуске VS от имени администратора или не администратора
Кто-нибудь знает, как я могу предотвратить это VerificationException
, обойти это и / или почему это вызвано?Кажется, с таким небольшим количеством сборок не должно быть никаких конфликтующих загрузок.Я также убрал спутниковые сборки FluentValidation, но все же получил исключение.