Como posso impedir uma VerificationException ao executar um teste com o depurador conectado?
Sempre que executo um dos seguintes testes de unidade com um depurador conectado, recebo umVerificationException
dentro FluentValidation neste ponto (postará todo o rastreamento de pilha mais tarde, se necessário
at FluentValidation.Resources.LocalizedStringSource.CreateFromExpression(Expression`1 expression, IResourceAccessorBuilder resourceProviderSelectionStrategy)
in ...\FluentValidation\Resources\LocalizedStringSource.cs:line 66
Os testes são:
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; }
}
Referenciei apenas esses assemblies em um cenário de solução única e projeto único, visando o tempo de execução 4.0.30319:
FluentValidation v3.0.0.0 Microsoft.VisualStudio.QualityTools.UnitTestFramework v10.0.0.0Sistem System.CoreAlguns outros pontos:
Executar o teste sem um depurador funciona bem A cobertura do código está desativada Minimizei os assemblies referenciados até o mínimo Não vejo nenhum erro no log do FusionEu tentei aplicar oSecurityRulesAttribute
deanswer para uma pergunta semelhante Tentei algumas coisas em uma postagem no blogVerificationException e testing Ocorre nos hosts MSTest e Resharper (não tentei o NUnit, porque o segmento comum parece estar 'no depurador'. Ocorre ao executar o VS como administrador ou não administrador Alguém sabe como posso evitar issoVerificationException
, contornar o problema e / ou por que está sendo causado? Parece que com tão poucas assembléias, não deve haver nenhum carregamento conflitante. Também removi os conjuntos de satélites FluentValidation, mas ainda recebo a exceçã