Определение модулей и способа тестирования

Модульные тесты будут разрабатываться для следующих модулей:

1) M1 = Opinion.ParseExpression() – модуль синтаксического анализа суждения

2) M2 = DictionaryParser.Parse() – извлечение данных из файла словаря.

3) M3 = DictionaryParser.Contains() – проверка на наличие формы слова в словаре

4) M4 = DictionaryParser.GetInitialForm() – получение начальной формы слова на основе данных, хранящихся в словаре

Результат работы этих модулей используется в методе M5 = Opinion.CreateExpression(), поэтому структурная схема модулей выглядит так, как показано на Рисунок 8. Линии направлены от модуля, содержащего данные/функциональность к модулю, которые их использует.

 

Рисунок 8. Структурная схема используемых модулей

Как видно из рисунка, зависимости между модулями определяют порядок их тестирования:

1. M2

2. M4

3. M3

4. M1

5. M5

 

Набор юнит-тестов

В данном разделе будет приведен список юнит-тестов для модуля чтения и использования данных словаря (модули M2-M4).

Для модуля M2 (получение данных из файла):

- public static void Dictionary_FileNotFound_ExceptionCaught()

Проверка работы модуля чтения данных из файла при отсутствии файла

- public static void Dictionary_EmptyFile_NoExceptions()

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

- public static void Dictionary_AllLinesParsedSuccessfully_NoExceptions()

Проверка работы модуля чтения данных из файла при файле с корректными данными

- public static void Dictionary_InvalidRecord_ExceptionCaught()

Проверка работы модуля чтения данных из файла при файле, данные в котором хранятся в некорректной форме[2]

Подробно эти методы рассмотрены в разделе Часть 3. Тестирование методом «белого ящика». Модульное тестирование : Модуль DictionaryParser.Parse() .

 

Для модуля M3 (проверка наличия формы слова):

- public static void Dictionary_ContainsSpecificForm_NoExceptions()

Проверка работы модуля проверки наличия формы слова при файле, который содержит слово, переданное в качестве параметра.

- public static void Dictionary_DoesNotContainSpecificForm_ExceptionCaught()

Проверка работы модуля проверки наличия формы слова при файле, который не содержит слово, переданное в качестве параметра.

 

Для модуля M4 (получение начальной формы слова):

- public static void Dictionary_InitialFormRevealed_NoExceptions()

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

- public static void Dictionary_InitialFormDidNotReveal_ExceptionCaught()

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

- public static void Dictionary_InitialFormDidNotRevealFromEmptyFile_ExceptionCaught()

Проверка работы модуля получения начальной формы слова при пустом файле.

Полный код тестов хранится в файле DictionaryParserTests.cs проекта Opinions.Test (подкаталог Tests).