Senfgurke — это пример среды тестирования для VBA. Что это значит? Используя Senfgurke, вы можете превратить примеры, приведенные на естественном языке, в автоматические тесты, запускаемые VBA (Visual Basic для приложений).
ОСТЕРЕГАТЬСЯ! Это работа в стадии разработки. Будущие версии могут нарушить работу вашего кода автоматизации тестирования из старых версий!
Представьте, что кто-то просит вас написать новую «специальную» функцию суммирования для Excel, которая добавляет к результату значение 1, приведя вам следующий пример:
Example: add +1 to sum
Given a is 2
And b is 3
When sum+1 is applied to a and b
Then the result is 6
Теперь вы можете добавить этот пример к функции и сохранить все содержимое файла с именем «sum_plus_one.feature» в каталоге с именем «features». Каталог должен находиться в том же месте, где находится офисный файл, содержащий код VBA.
Если вы запустите Senfgurke в первый раз, он предложит вам добавить новую функцию, например:
Public Sub Given_a_is_INT_C722764574FB(step_parameters As Collection)
'Given a is 2
End Sub
Пожалуйста, не путайте часть имени функции C722764574FB. Это хеш-значение помогает Сенфгурке сопоставить функцию с исходным шагом из примера. Теперь вам нужно заполнить функцию кодом, чтобы можно было протестировать новую функцию и убедиться, что sum+1 возвращает правильные результаты.
Когда вы повторите это для каждого шага примера и запустите Senfgurke, вы можете получить это на консоли:
Feature: sum plus one
Rule: add one to sum results
Example: add +1 to sum
OK Given a is 2
OK And b is 3
OK When sum+1 is applied to a and b
OK Then the result is 6
Таким образом, Senfgurke сообщит вам, был ли ваш код успешным или вызвал ли какую-либо ошибку.
Senfgurke предоставляется как надстройка для конкретного приложения. Таким образом, вы можете легко разделить тестируемое приложение и среду тестирования Senfgurke. Чтобы запустить новое приложение VBA, выполните следующие действия:
Следующая карта событий объяснит, что произойдет, когда вы попросите Сенфгурке выполнить ваши функции.
Тесты обычно запускаются из окна консоли VBA. Таким образом, вы можете добавлять теги или фильтры (для имен файлов), чтобы ограничить выполнение теста определенными тегами или файлами функций.
Первое, что сделает Сенфгурке, — это найдет файлы объектов и загрузит их в память для последующей обработки.
Наличие всех функций в памяти облегчает Senfgurke перевод (анализ) языка Gherkin в подробные инструкции для последующего выполнения. Например, примеры без соответствующих тегов, установленных при запуске теста, могут быть проигнорированы для последующего выполнения, или фоновые шаги из функции будут добавлены к каждому примеру (так называемому сценарию) в этой функции.
Следующий шаг, очевидно, связан с выполнением всех подробных инструкций по выполнению, полученных на предыдущем шаге. Это также будет включать возврат всех результатов выполнения.
Параллельно с выполнением упомянутых выше функций результаты будут сообщаться в разных форматах. По умолчанию используется подробный формат, который записывает функции Gherkin в окно консоли VBA, просто добавляя результат выполнения к каждому шагу примеров.
В конце каждого запуска теста Senfgurke будет добавлять некоторую статистику, например продолжительность и количество выполненных шагов примера.
Более подробную документацию см. в файлах функций для Senfgurke, начиная с индекса, созданного Индексатором функций.
Блок-схема FMC показывает, что типичная установка состоит из трех уровней:
Некоторые общие решения см. в журнале решений по архитектуре.
Многоуровневая архитектура должна гарантировать, что функциональность, предоставляемая Senfgurke, отделена от логики приложения.
подлежит уточнению