инструменты для тестирования плагинов энергии

Я ищу некоторые инструменты для тестирования сценариев энергии. Любая энергия сценарии это

  • сделайте единицу/функциональное тестирование, или
  • классы для некоторой другой библиотеки (например, unittest модуль Python), которые делают это удобным для
    • выполненная энергия с параметрами, которые заставляют это делать некоторые тесты на своей среде, и
    • определите от вывода, передал ли данный тест.

Я знаю о нескольких сценариях энергии, которые делают поблочное тестирование, но они - вид неопределенно зарегистрированного, и можете, или может не на самом деле быть полезным:

единица энергии:

  • смыслы, "Для предоставления сценариям энергии простую платформу поблочного тестирования и инструменты"
  • первая и единственная версия (v0.1) была выпущена в 2004
  • документация не упоминает, работает ли она надежно, кроме указать, что это - "тариф [так] от законченного".

единица-test.vim:

  • Этот также кажется довольно экспериментальным, и не может быть особенно надежным.
  • Возможно, отказался или отложен спиной: последняя фиксация была в 2009-11 (> 6 месяцев назад)
  • Никакие теговые изменения не были созданы (т.е. никакие выпуски)

Таким образом, информация от людей, которые используют один из тех двух существующих модулей и/или ссылки на другой, более явно применимый, опции, очень приветствуется.

37
задан intuited 12 June 2010 в 19:42
поделиться

2 ответа

Есть еще один (чистый 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]
8
ответ дан 27 November 2019 в 05:00
поделиться

Раньше я использовал vim-unit . По крайней мере, это означает, что вам не нужно писать свои собственные функции AssertEquals и AssertTrue . У него также есть хорошая функция, которая позволяет вам запускать текущую функцию, если она начинается с «Test», поместив курсор в тело функции и набрав : call VUAutoRun () .

Документация немного сомнительна и незакончена, но если у вас есть опыт работы с другими библиотеками тестирования XUnit, она будет вам знакома.

Ни в одном из упомянутых сценариев нет способов проверить особенности vim - вы не можете изменить буферы, а затем проверить ожидаемые результаты по результатам - поэтому вам придется написать свой vimscript проверяемым способом. Например, передавать строки в функции, а не извлекать их из буферов с помощью getline () внутри самой функции, возвращать строки вместо использования setline () и тому подобного.

3
ответ дан 27 November 2019 в 05:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: