Аналог FitNesse для Python


(Александр Шиповалов) #1

Коллеги, на работе используем FitNesse + Java. Причем те люди которым Java была удобнее, уже не работают над этим. Я бы предпочел использовать Python, но появились вопросы, можно ли при этом будет оставить FitNesse или чем его заменить.


(Maxim Shulga) #2

Можно оставить FitNesse (см. плагин waferslim). Мы в свое время использовали - работает :slight_smile: А можно посмотреть в сторону Robot Framework (тут небольшая вводная). И много материалов у Миши Поляруша


(Mykhailo Poliarush) #3

Ну самый распространенный вариант с табличной поддержкой в виде keyword-driven подхода, это Robot Framework, как верно заметил @maxim_shulga12. Есть еще PyFIT https://pypi.python.org/pypi/PyFIT, но он уже давно не поддерживается. Других подобных фреймворков увы не знаю.

Есть конечно другие BDD фреймворки, но это уже не альтернатива FitNesse, где все пишется в табличном формате

Ну и похожие тема для рассмотрения (если будет автоматизироваться веб-приложение):


(Александр Шиповалов) #4

А теперь вопрос, немного по Python, но по FitNesse. Хочется, облегчить участь моего тест-дизайнера. В основном, он эту wiki-разметку, пишет или в Notepad++ или прямо в редакторе FitNesse. Сами понимаете, что это очень неудобно - никакого автодополнения, никакого Find Usage, невозможно посмотреть, сколько методов в тесте, сколько тестов в сьюте. Я пока ничего не могу придумать, что бы сделать ему (и мне) работу удобнее. У кого нибудь есть какие нибудь соображения?


(Mykhailo Poliarush) #5

Ну с ходу не могу особо припомнить, что-то нормальное. Немного погуглив нашел следующее:

Ну и можно самому написать нужный плагин например для http://www.sublimetext.com/. Их архитектура позволяет это сделать. Тем более там все нужно писать на python.

В общем, ничего из этого не пробовал, так что это вам предстоит сделать и отписаться, что получилось на практике.


(Александр Шиповалов) #6

FitNesse Editor для Eclipse попробуем, плагин для IDEA 6 версии, даже пробовать не буду, с вероятностью 99%, на 12 он не встанет). А вот плагин для Sublime, заманчиво - но страшновато. Хотя Саблайм, переодически использую.


(Mykhailo Poliarush) #7

Всегда страшно делать, то что еще не делал! :fearful: (прикольно, смайлик “блакытно-жовтый”)

Ссылки по написанию плагина к sublime в помощь:


(Александр Шиповалов) #8

Только не о политике плиз)


(Mykhailo Poliarush) #9

Нет, это просто замечание на счет цветов.
На этом портале, никакой политики не будет.
Сам лично буду удалять и пресекать такие начинания.
У нас миссия другая!

Напомню :smile:

http://automated-testing.info - портал, который ставит перед собой цель соединить информацию и специалистов в области автоматизации тестирования программного обеспечения


(Александр Шиповалов) #10

Тогда, выскажу свою точку зрения - по мне FitNesse, удивительно неудобный инструмент, в том контексте - в котором мы его используем, over 7000 тестов, время выполнения больше недели. При всем при этом я лишен, возможности запускать тесты параллельно, использовать TestNG, FitNesse и тест-дизайне (который очень далек от программирования), фактически диктуют мне как писать код. К сожалению, не знаю пока как его выпилить, безболезненно для проекта.


(Mykhailo Poliarush) #11

Имхо, да FitNesse не радость, я бы тоже от него избавился. Но в вашем случае это не так просто.

Вариантов несколько:

  1. Добавляем поддержку, так что бы можно было писать тесты на FitNesse и на TestNG. Все новые тесты пишем на TestNG. А как тесты фейлятся мигрируем с FitNesse на TestNG
  2. Просто все замораживаем и переводим на чистую джава и на TestNG
  3. Пишем какую-то прослойку, и потом начинаем почучуть отключать функциональность и дописывать новую с соответствующей заменой.

Это такие мысли вслух!


(Александр Шиповалов) #12

Я сам склоняюсь ко второму варианту, или на py.test + Python


(Mykhailo Poliarush) #13

Ну просто упомянул Java, и я написал об Java. Но вообще можно без проблем переписать на py.test + Python

Можно без проблем использовать прослойки между java и python:

  • Jython
  • JEPP
  • JPype
  • JCC

И презентация в подарок:

И смежная тема c которой взял: