У меня есть модульный тест для макета My.User.IsInRole()
, используемый в следующем контроллере,
Public Class BookingController
Public Function GetUserRole() As String
If My.User.IsInRole("Agent") Then
result = "Login as Agent"
End If
```
End Function
End Class
пытается установить макет в этом тестовом примере (код VB):
<TestMethod()>
Public Sub Test()
//Arrange
'Dim httpContext = New Mock(Of System.Web.HttpContextBase)()
Dim principal = New Moq.Mock(Of IPrincipal)()
'httpContext.Setup(Function(x) x.User).Returns(principal.[Object])
principal.Setup(Function(p) p.IsInRole("Agent")).Returns(True)
Thread.CurrentPrincipal = principal.[Object]
// Act
Dim result = controller.GetUserRole()
End Sub
При вызове GetUserRole()
, My.User.IsInRole("Agent")
должен возвращать True
, но возвращает False
. Что-то не так с моим кодом?
Любые предложения по поводу этой ошибки.