Как инициализировать ресурсы тестового класса в платформе Visual Studio Unit Testing? - PullRequest
2 голосов
/ 21 мая 2011

Я использую среду модульного тестирования в .NET в C ++ / CLI для тестирования неуправляемого кода C ++.

Я хотел бы, например, экземпляр System::Random для генерации случайных значений во всех методах тестирования.

Нужно ли помещать это как переменную-член в мой тестовый класс?

Если да, куда я могу поместить код инициализации, потому что генерируемый метод ClassInitialize() является статическим для некоторыхпричина, и он имеет доступ только к TestContext, который я прочитал, только для использования данных тестирования из некоторых внешних источников.

1 Ответ

2 голосов
/ 21 мая 2011

Вы можете добавить статические свойства к вашему классу тестов и инициализировать их в методе ClassInitialize(), если вам нужно, чтобы они были доступны для всех тестов. Если вы хотите, чтобы они были инициализированы для каждого теста, лучше использовать метод TestInitialize().

Вы уверены, что хотите использовать случайные значения в своих модульных тестах? Обычно вы хотите использовать известные значения (хорошие значения, плохие значения, крайние случаи и т. Д.), Чтобы ваши тесты были предсказуемыми. Использование нескольких тестов с различными значениями, когда вы знаете, что ожидаемое поведение (результат) более типично, чем использование случайных значений.

...