Поделиться через


Пошаговое руководство. Создание и выполнение модульного теста смарт-устройства

Обновлен: Ноябрь 2007

В этом пошаговом руководстве объясняется, как создать, запустить и настроить ряд проверок с помощью Team System (средства тестирования) для проектов устройств. Следует начать с приложением для смарт-устройства на языке C#, которое находится в состоянии разработки. Затем следует создать тестовый проект, создать модульный тест, выполнить этот тест и проанализировать результаты.

Bb384146.alert_note(ru-ru,VS.90).gifПримечание.

На вашем компьютере названия некоторых элементов интерфейса пользователя Visual Studio или их расположение могут отличаться от указанных в нижеследующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Параметры Visual Studio.

В этом пошаговом руководстве выполняются следующие задачи:

  • Открытие существующего проекта и создание метода.

  • Создание модульного теста и проекта тестирования устройства.

  • Просмотр конфигурации выполнения.

  • Выполнение модульного теста.

  • Выполнение модульного теста из командной строки.

Обязательные компоненты

Необходимо выполнить процедуры, изложенные в разделе Пошаговое руководство. Создание приложений Windows Forms для устройства, прежде чем начать работу с этим пошаговым руководством. Для выполнения пошагового руководства необходимо установить .NET Compact Framework версии 2.0 на эмулятор Pocket PC 2003. Следует либо не закрывать окно эмулятора, либо сохранить состояние эмулятора. Дополнительные сведения см. в разделе Файлы сохранения состояния.

Открытие существующего проекта и создание метода

Чтобы открыть существующий проект и создать метод

  1. Запустите среду Visual Studio.

  2. В меню Файл выберите команду Открыть и затем щелкните Проект/решение.

    Откроется диалоговое окно Открыть проект.

  3. Откройте проект DeviceSample, который был создан в пошаговом руководстве, которое необходимо для выполнения этого пошагового руководства, затем нажмите кнопку ОК.

    Проект DeviceSample будет отображен в обозревателе решений.

  4. Щелкните правой кнопкой мыши Form1.cs (C#) или Form1.vb (Visual Basic) в обозревателе решений, затем щелкните команду Перейти к коду для открытия файла в редакторе кода.

  5. Разместите курсор внутри класса Form1.

  6. Вставьте следующий код:

    public int Add(int a, int b) {return a + b;}
    
    Public Function Add(ByVal a As Integer, ByVal b As Integer) As Integer 
        Return a + b
    End Function 'Add
    
  7. В меню Построение выберите команду Построить решение.

    Теперь имеется проект с именем DeviceSample, который содержит проверяемый исходный код. Пространство имен DeviceSample, DeviceSample, содержит открытый класс Form1, метод которого будет тестироваться в приведенных ниже процедурах.

Создание модульного теста и проекта тестирования устройства

Чтобы создать модульный тест и проект тестирования устройства

  1. Щелкните правой кнопкой мыши Form1.cs (C#) или Form1.vb (Visual Basic) в обозревателе решений, затем щелкните команду Перейти к коду для открытия файла в редакторе кода.

    Bb384146.alert_note(ru-ru,VS.90).gifПримечание.

    Проект DeviceSample содержит код, подлежащий тестированию, или, иначе говоря, тестируемый код.

  2. В классе Form1 перейдите к методу Add.

  3. Щелкните метод Add правой кнопкой мыши и выберите команду Создать модульные тесты.

    Появится диалоговое окно Создать модульные тесты.

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

    В древовидной структуре выделен только метод Add. Не снимайте этого выделения.

  4. В области Выходной проект щелкните Создать новый тестовый проект Visual C# смарт-устройства.

    Bb384146.alert_note(ru-ru,VS.90).gifПримечание.

    Язык тестового проекта может и не совпадать с языком проекта. Например, можно создать тестовый проект смарт-устройства на языке Visual C# для проекта устройства на языке Visual Basic.

  5. Щелкните Параметры.

    Откроется диалоговое окно Параметры создания тестов. В группе Параметры наименования можно изменить способ именования тестовых файлов, классов и методов при их создании. В группе Общие можно изменить другие аспекты создания тестов. Оставьте значения данных параметров по умолчанию и нажмите кнопку ОК.

  6. В диалоговом окне Создать модульные тесты нажмите кнопку ОК.

    Откроется диалоговое окно Новый тестовый проект.

  7. Оставьте имя по умолчанию и нажмите кнопку Создать.

    Это приведет к созданию проекта TestProject1, в котором содержится модульный тест, файл с именем DeviceSample.vsmdi, содержащий сведения о списках тестирования и тестах, а также файл SmartDeviceTestRun.testrunConfig, который содержит сведения о месте и способе выполнения теста.

    В этот тестовый проект добавляется файл с именем Form1Test.cs, содержащий тестовый класс.

    Bb384146.alert_note(ru-ru,VS.90).gifПримечание.

    Каждому методу тестирования автоматически присваивается атрибут TestMethod(). Каждый тест соответствует отдельному методу в тестируемом коде, подлежащему проверке. Методы теста включены в тестовый класс, которому присвоен атрибут TestClass().

  8. В файле Form1Test.cs укажите значения переменных, подлежащих тестированию. Перейдите к методу AddTest, в котором имеются три строки // TODO, указывающие переменные, которые необходимо задать, а именно a, b и expected.

  9. Установите следующие значения:

    int a = 4;
    int b = 5;
    int expected = 9;
    

    Это указывает, что ожидается возвращаемое значение, равное 9, при вызове метода со значениями 4 и 5.

  10. Закомментируйте этот оператор Assert.

    Assert.Inconclusive("Verify the correctness of this test method.");
    

    Этот оставшийся оператор Assert сравнивает ожидаемый результат (9) с фактическим результатом, возвращаемым при вызове метода Add класса Form1. Если значения не равны, оператор Assert возвращает False, что приводит к неудачной проверке.

  11. Сохраните файл Form1Tests.cs.

    Был создан файл исходного кода, содержащий тесты для проекта DeviceSample. Теперь все готово к выполнению тестов в классе Form1Test в применении к коду проекта DeviceSample.

Просмотр конфигурации выполнения

Чтобы просмотреть конфигурацию выполнения

  1. В обозревателе решений дважды щелкните файл, который называется SmartDeviceTestRun.testrunConfig.

  2. Щелкните Hosts.

  3. Убедитесь, что Host type равен Smart Device, Platform равен Pocket PC 2003, а Device равен Pocket PC 2003 SE Emulator.

  4. Нажмите кнопку Закрыть для выхода.

    Была просмотрена конфигурация выполнения, в которой указывается контекст выполняемых тестов.

Выполнение модульного теста

Чтобы запустить и настроить модульный тест

  1. В меню Тест выберите Окна, а затем команду Представление теста.

    Будет открыто окно Представление теста.

  2. Щелкните правой кнопкой мыши AddTest и выберите команду Выполнить выбранное.

    Visual Studio развернет тест в эмуляторе устройства и запустит этот тест. Откроется окно Результаты теста, если оно не было открыто ранее.

    В ходе выполнения теста в столбце Результат окна "Результаты теста" состояние теста отображается как Выполняется. По завершении тестового запуска результат теста меняется на Успешно.

    Bb384146.alert_note(ru-ru,VS.90).gifПримечание.

    При развертывании тестов среда Visual Studio не развертывает и устанавливает .NET Compact Framework или SQL Server Compact 3.5 на целевом устройстве или эмуляторе автоматически. Эти приложения уже должны быть установлены на устройстве или в эмуляторе до выполнения теста. Дополнительные сведения см. в разделах Практическое руководство. Установка платформы .NET Compact Framework на устройство и Практическое руководство. Установка SQL Server Compact 3.5 на устройство.

  3. В окне Результаты теста дважды щелкните строку, представляющую тест.

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

    Был выполнен созданный метод AddTest тестового класса Form1Test и просмотрены результаты.

Выполнение модульного теста из командной строки

Чтобы запустить и настроить модульный тест

  1. Нажмите кнопку Пуск, последовательно выберите Все программы, Microsoft Visual Studio 2008, Visual Studio Tools и щелкните пункт Командная строка Visual Studio 2008.

    Будет открыта командная строка с начальным расположением в папке диск:\Program Files\Microsoft Visual Studio 9.0\VC.

  2. Перейдите в папку, которая содержит сборку, построенную на основе тестового проекта.

    Для этого сначала следует изменить папку решения. Для решения DeviceSample, созданного в пошаговом руководстве, являвшимся предварительным требованием, этой папкой будет: диск:\Пользователи\имя_пользователя\Мои документы\Visual Studio\Projects\DeviceSample. Затем перейдите к папке тестового проекта путем ввода в командной строке следующей команды:

    cd TestProject1\bin\Debug

    Bb384146.alert_note(ru-ru,VS.90).gifПримечание.

    Также можно запустить MSTest.exe из любой папки, указав полные пути.

    Эта папка содержит тестовый проект, который был создан посредством процедур создания и выполнения модульных тестов. Сборка тестового проекта TestProject1.dll содержит несколько модульных тестов.

    Bb384146.alert_note(ru-ru,VS.90).gifПримечание.

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

  3. Используйте средство командной строки для проверки приложения.

    В командной строке введите следующее:

    MSTest /testcontainer:TestProject1.dll /runconfig:..\..\..\SmartDevicetestrun.testrunconfig

    Bb384146.alert_note(ru-ru,VS.90).gifПримечание.

    Параметр /runconfig является обязательным при запуске модульных тестов для смарт-устройств.

    Эта команда выполняет все тесты в сборке и возвращает результаты, например:

    Загрузка testproject1.dll...

    Запуск выполнения…

    Результаты Тесты верхнего уровня

    ------- ---------------

    Завершено TestProject1.Form1Test.AddTest

    1/1 тест(ов) завершено

    Заключение

    -------

    Выполнение теста завершено.

    1 пройден

    ---------

    Общее количество 1

    Файл результатов: <путь>\<имя выполнение теста>.trx

    Конфигурация выполнения: конфигурация выполнения по умолчанию

    Bb384146.alert_note(ru-ru,VS.90).gifПримечание.

    Файл TRX, созданный вследствие выполнение mstest.exe, может быть открыт в Visual Studio для изучения результатов тестирования. Дополнительные сведения о всех параметрах команды MSTest см. в разделе Параметры командной строки программы MSTest.exe.

    Средство командной строки MSTest.exe особенно полезно для запуска автоматического тестирования в пакетных файлах или при использовании других средств.

См. также

Основные понятия

Платформа Unit Testing Framework

Другие ресурсы

Работа с модульными тестами

Средства тестирования для проектов смарт-устройств