Как получить доступ к закрытым членам из контрольного примера VB.NET? - PullRequest
0 голосов
/ 02 августа 2011

Я использую встроенные тесты VS 2010 Professional.У меня есть класс, который имеет свойство только для чтения, которое выглядит примерно так:

    Private _server As IServer = Nothing
    Public ReadOnly Property Server()
        Get
            If _server Is Nothing Then
                RemotingSetup.RegisterHttpBinaryChannel()
                _server = RemotingFactory.CreateProxy(Of IServer)(Options.DevLocal)
            End If

            Return _server
        End Get
    End Property

В моих тестовых примерах я хочу сделать фальшивую реализацию сервера, чтобы я мог протестировать некоторые методы класса безна самом деле поражение сервера.Я осмотрелся и увидел атрибут InternalsVisibleTo, но, похоже, он разрешает доступ только членам Friend.

Есть ли какой-нибудь простой способ получить доступ к этим участникам, кроме объявления их Публичным / Другом?

1 Ответ

0 голосов
/ 02 августа 2011

Помимо использования библиотеки-насмешника, которая будет издеваться над личными членами (например, TypeMock , единственный из известных мне, кто это делает), вам не повезло, по крайней мере, когда речь идеттестирование этого конкретного класса напрямую.

Существуют и другие возможности - вы можете создавать подклассы из этого класса и только переопределять это свойство.Это позволит вам проверить все остальные функции.Конечно, это предполагает, что класс не запечатан (NotInheritable).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...