Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

681
Visualizações
¿Cómo verificar un parámetro del diccionario?

Estoy usando el marco Moq.

Se da el siguiente código:

 public interface ISomeInterface { SomeResult DoWork( ISomeContainer foo, Dictionary<string, object> bar ); } [ Test ] public void SomeTest() { Mock<ISomeInterface> mock = new Mock<ISomeInterface>(); mock.Setup( m => m.DoWork( It.IsAny<ISomeContainer>(), It.IsAny<Dictionary<string, object>>() ) ); new Cut( mock ).DoSomething(); mock.Verify( m => m.DoWork( It.Is<ISomeContainer>( c => c.SomeValue == "foo" ), It.Is<Dictionary<string, object>>( d => ??? ) ) ); }

Sé cómo verificar las propiedades de un parámetro de interfaz ( ISomeContainer ), pero ¿cómo es esto posible con un diccionario?

Me gustaría verificar que el método DoWork se llama con un diccionario simple que contiene solo un par clave-valor KeyA + ValueA .

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

It.Is anticipa un delegado donde el parámetro es el valor actual y el tipo de retorno bool.

Entonces, en su caso: Func<Dictionary<string, object>, bool>

Para probar sus suposiciones, puede crear el siguiente método auxiliar:

 private static bool AssertBar(Dictionary<string, object> bar) { Assert.Single(bar); Assert.Equal("KeyA", bar.Keys.Single()); Assert.Equal("ValueA", bar.Values.Single()); return true; }

entonces puedes llamar a Verify así:

 mock.Verify( m => m.DoWork( It.Is<ISomeContainer>(c => AssertFoo(c)), It.Is<Dictionary<string, object>>(d => AssertBar(d))), Times.Once);
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda