Refiriéndose a esta pregunta: ¿Moq VerifySet (Acción) reemplazando la expresión obsoleta error de compilación
Moq how to replace obsolete expression
Tengo el siguiente:
[Test]
public void OnSearchRequest_ViewFiresEvent_EventIsHandled()
{
// Arrange
Mock<IViewUsers> view = new Mock<IViewUsers>();
Users users = new Users(view.Object);
// Act
view.Raise(v => v.SearchForUsers += null, this, new SearchEventArgs());
// Assert
view.VerifySet(v=> v.SearchResult = It.IsAny<List<IUser>>());
}
originalmente tenía:
// Assert
view.VerifySet(v => v.SearchResult);
Pero estaba recibiendo la advertencia:
'Moq.MockExtensions.VerifySet (Moq.Mock, System.Linq.Expressions.Expression>)' es obsoleto : 'Sustituido por VerifySet (Acción)'
Entonces me encontré con la pregunta referenciado anteriormente, y lo cambió a la altura, pero ahora todavía estoy consiguiendo que la alerta, y encima de eso, un error de hardware en "v.SearchResult" dentro de la llamada a VerifySet:
un árbol de expresión puede no contiene un operador de asignación.
No puedo ver que estoy formateando esto de forma incorrecta, entonces ¿por qué no está reconociendo esto como una acción como la otra pregunta implica que debería?
¿Qué versión de Moq estás usando? Porque he creado una pequeña repro con 4.0.10827.0 y es verde y compila sin la advertencia obsoleta ... Debe proporcionar más contexto sobre cómo son las clases en su prueba. – nemesv
moq 4.0.10827.0 –
¿Qué más contexto le gustaría? –