Riferendosi a questa domanda:Moq VerifySet (Azione) che sostituisce l'espressione obsoleta errore di compilazione
Moq how to replace obsolete expression
Ho il seguente:
[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>>());
}
inizialmente ho avuto:
// Assert
view.VerifySet(v => v.SearchResult);
Ma stava ricevendo l'avviso:
'Moq.MockExtensions.VerifySet (Moq.Mock, System.Linq.Expressions.Expression>)' è obsoleta: 'sostituito da VerifySet (Azione)'
Così ho trovato il problema fa riferimento sopra, e ha cambiato in modo che corrisponda, ma ora sto ancora ricevendo quell'avvertimento, e per di più, un errore di duro "v.SearchResult" all'interno della chiamata a VerifySet:
un albero di espressione può non contiene un operatore di assegnazione.
Non riesco a vedere che sto formattando questo in modo improprio - quindi perché non riconosce questo come un'azione come implica l'altra domanda?
Quale versione di Moq stai usando? Perché ho creato una piccola versione con 4.0.10827.0 ed è verde e compila senza l'avviso obsoleto ... Dovresti fornire più contesto su come appaiono le classi del tuo test. – nemesv
moq 4.0.10827.0 –
Quale altro contesto desideri? –