Оригинальный автор(ы) | Дэвид Петерсон |
---|---|
Разработчик(и) | Найджел Чарман и др. |
Стабильный релиз | 3.0.1 / 4 июля 2020 г. ( 2020-07-04 ) |
Репозиторий |
|
Написано в | Java , .NET |
Операционная система | Кроссплатформенный |
Тип | Спецификация по примеру инструмента |
Лицензия | Лицензия Apache 2.0 |
Веб-сайт | concordion.org |
Concordion — это фреймворк спецификаций по примерам, изначально разработанный Дэвидом Петерсоном [1] и в настоящее время поддерживаемый командой разработчиков [2] во главе с Найджелом Чарманом.
Вдохновленный Fit Framework , Дэвид утверждает, что при создании Concordion были поставлены следующие цели: [3]
Спецификации Concordion пишутся в Markdown, HTML или Excel [4] , а затем инструментируются специальными ссылками, атрибутами или комментариями соответственно. Когда запускается соответствующий класс тестового приспособления, Concordion интерпретирует инструментарий для выполнения теста. Вместо того чтобы заставлять владельцев продукта указывать требования на специально структурированном языке, Concordion позволяет вам писать их на обычном языке, используя абзацы, таблицы и правильную пунктуацию. Это делает спецификации гораздо более естественными для чтения и написания и помогает всем понять и договориться о том, что должна делать функция. [5]
Файлы Markdown, HTML или Excel обычно хранятся вместе с исходным кодом, что дает то преимущество, что они могут находиться в той же системе контроля версий, что и остальной код, гарантируя, что спецификация и тесты будут разветвлены и объединены с основным исходным кодом.
Concordion включает гибкий механизм расширения [6] для добавления функциональности, например, внедрения новых команд, прослушивания событий или изменения выходной документации. Предоставляя функциональность, такую как встраивание скриншотов, [7] раскадровок [8] или ведение журнала выходных данных, [9] расширения обеспечивают уверенность в том, что делает тест, не привязывая его к конкретной реализации. [10]
Concordion обогащает гибкие процессы [11] и успешно применяется в промышленном контексте. [12]
Перед приборостроением | Приветствие для Мира — Hello World! |
---|---|
После инструментации | Приветствие для [ Мир ]( - "#name" ) - [ Привет, Мир! ]( - "?=greetingFor(#name )") |
Перед приборостроением | < html > < body > < p > Приветствие для < b > Мира </ b > : < b > Привет, мир! </ b ></ p > </ body > </ html > |
---|---|
После инструментации | < html xmlns:concordion = "http://www.concordion.org/2007/concordion" > < body > < p > Приветствие для < b concordion:set = "#name" > мира </ b > : < b concordion:assertEquals = "greetingFor(#name)" > Привет, мир! </ b > </ p > </ body > </ html > |
пакет org.wikipedia ; импорт org.concordion.integration.junit4.ConcordionRunner ; @RunWith ( ConcordionRunner . class ) публичный класс HelloWorldTest { public String greetingFor ( String firstName ) { return "Привет " + firstName + "!" ; } }
Плагин Concordion Support для интегрированной среды разработки (IDE) IntelliJ IDEA упрощает разработку приспособлений и спецификаций с помощью таких функций, как автодополнение, навигация между спецификациями и тестовыми приспособлениями, переименование, запуск тестов, проверки и быстрые исправления. [13]
Плагин Eclipse (программное обеспечение) Concordion гораздо более ограничен и не обновлялся с 2011 года. [14] Первоначальный автор прекратил использовать Concordion и Eclipse и не может выделить необходимое время для расширения и поддержки плагина. [15]
Concordion был портирован на другие языки, включая: