Как выполнить модульное тестирование сборок, ориентированных на разные платформы (64-битные и 32-битные) в visual studio - PullRequest
1 голос
/ 15 декабря 2011

У меня есть проект Visual Studio C #, предназначенный для разных платформ (64-битных и 32-битных).У меня также есть обширный модульный тест, охватывающий этот проект.Характер проекта таков, что генерируемые им сборки отличаются в зависимости от платформы (не полное имя сборки, имена сборок одинаковы независимо от целевой платформы).Теперь я хочу провести модульное тестирование этих сборок.Каков наилучший подход для этого?Также обратите внимание, что я должен запустить отчет о тестировании (покрытие кода и юнит-тест) на Hudson.В текущей реализации есть два разных проекта для двух разных платформ, чтобы папка для тестового запуска (та, в которой есть каталоги in / out) не мешала сборкам другого формата изображения.Обратите внимание, что я НЕ ожидаю ответа на вопрос «как выполнить модульное тестирование, выполнить покрытие кода в Visual Studio».Мой вопрос: «Каков наилучший и самый простой способ сборки модульных тестов, ориентированных на разные платформы в Visual Studio».

Ответы [ 2 ]

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

Я бы на самом деле сделал сборки Any-CPU, если это возможно (конечно, у вас может быть какое-то взаимодействие 32/64, что означает, что вы установили целевое значение для ЦП, но в противном случае пусть они не зависят от ЦП), и процесс выполнения принимает решение. по архитектуре т.е. 32/64 бит. Это быстро сократит количество сборок, которые вы должны протестировать.

MSTest (VS2010) должен иметь возможность обрабатывать 32 и 64, так как он передает эту работу в QTAgent (32) .exe соответствующим образом. NUnit имеет 2 типа консоли, один из которых установлен на any-cpu для работы на 32 и 64, а другой - на 32-битной для тестирования 32-битных сборок на 64-битных платформах. Другие инструменты тестирования могут иметь свой собственный подход или использовать один из двух, которые я описал.

Инструменты покрытия, которые вы можете использовать в hudson:

  1. NCover - коммерческий инструмент (ручки 32 и 64)
  2. OpenCover - инструмент с открытым исходным кодом (обрабатывает 32 и 64)

Есть и другие, которые могут подойти, но я не использовал их, поэтому я не могу комментировать их пригодность для использования через hudson, т. Е. Возможно, что в Visual Studio может использоваться командная строка.

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

Каков наилучший и самый простой способ сборки модульных тестов, нацеленных на разные платформы в Visual Studio.

Вы просто пытались запустить свои модульные тесты в операционных системах x86 и x64?Хотя я должен отметить, за исключением небольшого количества вещей, поведение вашего кода будет вести себя точно так же, два важных исключения работают с реестром и имеют дело, скажем, с небезопасным кодом (то есть с дескрипторами), которые специфичны для платформы.

Честно говоря. Кажется, вы уже знаете, что вам нужно делать.

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