Я ищу некоторые инструменты для тестирования сценариев энергии. Любая энергия сценарии это
Я знаю о нескольких сценариях энергии, которые делают поблочное тестирование, но они - вид неопределенно зарегистрированного, и можете, или может не на самом деле быть полезным:
Таким образом, информация от людей, которые используют один из тех двух существующих модулей и/или ссылки на другой, более явно применимый, опции, очень приветствуется.
Есть еще один (чистый VimL) Плагин UT , который я поддерживаю.
Он задокументирован, поставляется с несколькими примерами, а также используется другими моими плагинами.
Он предназначен только для тестирования результатов функций и отображения сбоев в окне быстрого исправления. Также декодируются стеки вызовов исключений. AFAIK, это единственный плагин на данный момент (или, по крайней мере, первый), который предназначен для заполнения окна быстрого исправления. С тех пор я добавил вспомогательные сценарии для получения результатов тестирования с помощью rspec (+ Vimrunner)
Обратите внимание, что для проверки того, как буфер изменяется с помощью mappings / snippets / ..., я рекомендую использовать другие плагины. Например, я тестирую свои фрагменты кода C ++ (из lh-cpp) на travis с помощью VimRunner + RSpec.
Что касается синтаксиса, это выглядит так:
" Old way, to test boolean expressions
Assert 1 > 2
Assert 1 > 0
Assert s:foo > s:Bar(g:var + 28) / strlen("foobar")
AssertTxt! (s:foo > s:Bar(g:var+28),
\, s:foo." isn't bigger than s:Bar(".g:var."+28)")
" New, recommended way to test relations
AssertEquals('a', 'a')
AssertDiffers('a', 'b')
let dict = {}
AssertIs(dict, dict)
AssertMatch('abc', 'a')
AssertRelation(1, '<', 2)
AssertThrows 0 + [0]
Раньше я использовал vim-unit
. По крайней мере, это означает, что вам не нужно писать свои собственные функции AssertEquals
и AssertTrue
. У него также есть хорошая функция, которая позволяет вам запускать текущую функцию, если она начинается с «Test», поместив курсор в тело функции и набрав : call VUAutoRun ()
.
Документация немного сомнительна и незакончена, но если у вас есть опыт работы с другими библиотеками тестирования XUnit, она будет вам знакома.
Ни в одном из упомянутых сценариев нет способов проверить особенности vim - вы не можете изменить буферы, а затем проверить ожидаемые результаты по результатам - поэтому вам придется написать свой vimscript проверяемым способом. Например, передавать строки в функции, а не извлекать их из буферов с помощью getline ()
внутри самой функции, возвращать строки вместо использования setline ()
и тому подобного.