Как файл ресурсов .resx может быть протестирован? - PullRequest
1 голос
/ 05 декабря 2011

У меня есть файл ресурсов system.resx, который используется в методе SubmitClick

Protected Sub SubmitClick(ByVal sender As Object, ByVal e As EventArgs)

  (...)

  If (... AndAlso ...) Then
      SetError(Resources.system.groupNoAdminTran)
  End If

End Sub

Моя проблема заключается в том, что независимо от того, как я пытаюсь выполнить это модульное тестирование, при сбое SetError тест завершится неудачей.с:

"Could not load file or assembly 'App_GlobalResources' or one of its
 dependencies. The system cannot find the file specified."

Есть ли способ, которым я могу издеваться над Resources.system?

Спасибо

1 Ответ

0 голосов
/ 06 декабря 2011

Это решение может быть не изящным, но это то, что я использовал в конце, не стесняйтесь критиковать.

Вручную создал свойство для каждой необходимой строки в Ресурсах:

Public Property GroupNoAdminTran() As String
    Get
        If String.IsNullOrEmpty(_groupNoAdminTran) Then
            _groupNoAdminTran = Resources.system.groupNoAdminTran
        End If
        Return _groupNoAdminTran
    End Get
    Set(ByVal value As String)
        _groupNoAdminTran = value
    End Set
End Property

Который затем можно использовать как:

Protected Sub SubmitClick(ByVal sender As Object, ByVal e As EventArgs)

  (...)

  If (... AndAlso ...) Then
      SetError(GroupNoAdminTran)
  End If

End Sub 

Что касается теста, простой макет подойдет:

_moqView.Setup(x => x.GroupNoAdminTran).Returns("GroupNoAdminTranTest");

и все. Надеюсь, это поможет.

...