Подтвердить что ты не робот

Почему метод ClassInitialize должен быть статическим?

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

Да, они могут быть инициализированы в конструкторе, но я предполагаю, что они недоступны для контроля тестового бегуна.

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

4b9b3361

Ответ 1

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

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

Если вам нужна дополнительная информация, вы можете проверить:

Это приложение Pesky MSTest Execution