C # UnitTest Совместное использование одного экземпляра объекта в модульных тестах - PullRequest
2 голосов
/ 18 апреля 2011

Я пытаюсь написать несколько TestMethods в UnitTests, которые все совместно используют один экземпляр общедоступного статического ресурса.

В конструкторе моего модульного теста я создаю общедоступную статику, которая находится в другом проекте C #.Затем все мои тесты обращаются к этой общедоступной статической информации.

Однако создается впечатление, что для каждого TestMethod в этом классе UnitTest создается новый экземпляр класса Test.

Есть ли средства, позволяющиеэти тесты для совместного использования одного и того же экземпляра общедоступной статики?

Или есть другой метод, который я должен использовать для тестирования службы?

** ОБНОВЛЕНИЕ **

Хорошокажется, что я использую неправильный подход к тому, чего я хочу достичь.

У меня уже есть UnitTests, которые тестируют, изолированно и без каких-либо общих ресурсов, которые работают как положено.

То, чего я пытаюсь добиться, - это средство для тестирования одновременных соединений со службой, которая будет открыта через веб-сервис / HTTP-интерфейс или прямое соединение через TcpListener для передачи сериализованного байта [].

Каждый из подключенных клиентов взаимодействует друг с другом через службу.

Эти тесты предназначены исключительно для проверки надежности и совместимости виртуальных клиентов на уровне ниже, чем у доступных сетевых интерфейсов.

Сервис обернут в некоторые общедоступные статические объекты, которые предоставляют те же функциональные возможности, что и через сетевые интерфейсы.

Мне нужен способ создания виртуальных клиентов, которые будут подключаться к этим объектам и утверждать различные результаты на основе ответов.

1 Ответ

7 голосов
/ 18 апреля 2011

Как правило, вам не нужно, чтобы модульные тесты разделяли ЛЮБОЕ состояние, поэтому вероятность ошибок при сбое уменьшается.Вы должны установить ожидаемое начальное состояние для каждого теста, чтобы устранить эти проблемы.

Так, например, если вам нужен общий статический SomethingOrOther, то создайте новый в правильном состоянии.за каждый модульный тест.

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