Mocking VB.NET Métodos Com Moq

Eu estou tentando unidade testar uma ação do controlador que usa o provedor de associação para atualizar detalhes do usuário. Eu estou usando o Moq, que até agora tem sido fácil de usar.

O problema é que não consigo fazer com que ele simule chamadas para métodos que não retornam nada.

<TestMethod()> _
Public Sub Can_Update_User()
  ' Arrange
  _membershipService.Setup(Function(x) x.UpdateUser(It.IsAny(Of MembershipUser)))
  Dim controller As New UsersController(_membershipService.Object, _roleProvider.Object, _supportWorksService.Object, _portalClientService.Object)
  ' Act
  Dim result As ViewResult = controller.Edit("testUser", New FormCollection)
  ' Assert
  Assert.AreEqual("Index", result.ViewName)
End Sub

A configuração do serviço de associação falsa não será compilada, o erro é:

A resolução de sobrecarga falhou porque nenhum 'Setup' acessível pode ser chamado com esses argumentos:

'Configuração de função pública (de TResult) (expressão como System.Linq.Expressions.Expression (de System.Func (Of Services.IMserviceService, TResult))) como Moq.Language.Flow.ISetup (Of Services.IMssociationService, TResult)' : Expressão não produz um valor.

'Configuração de função pública (de TResult) (expressão como System.Linq.Expressions.Expression (de System.Func (Of Services.IMserviceService, TResult))) como Moq.Language.Flow.ISetup (Of Services.IMssociationService, TResult)' : Tipo (s) de dados do (s) parâmetro (s) do tipo não podem ser inferidos a partir desses argumentos. A especificação explícita do (s) tipo (s) de dados pode corrigir esse erro.

'Public Function Setup (expressão como System.Linq.Expressions.Expression (Of System.Action (Of Services.IMembershipService))) Como Moq.Language.Flow.ISetup (Of Services.IMembershipService)': Expressão não produz um valor.

O que eu perdi? Eu terei que criar uma classe falsa ao invés de usar o Moq sempre que minha classe tiver um método que eu queira chamar?

Editar:

Ok, um pouco de leitura sugere que isso se deve à maneira como os lambdas são expressos em VB usando Function (), o que deve ter um resultado.

Alguém encontrou um trabalho para isso ou eu vou ter que abandonar Moq por métodos de falsificação?

questionAnswers(4)

yourAnswerToTheQuestion