2013-12-08 2 views
26

фон:Использования Travis CI для тестирования на сценариях оболочки UNIX

Я использую Travis CI для моих PHP проектов и мне очень нравится, как они дают вам ссылку на изображение, которое показывает состояние тока построить свой проект.

В настоящее время я делаю много инструментов с использованием сценариев оболочки UNIX и хотел бы использовать Travis CI для тестирования моих сценариев UNIX.

Я искал интернет, пытаясь выяснить, как этого добиться. Я пошел на главный сайт, обыскал Stackoverflow, а также немного искал Google.

Кажется, что это невозможно.

В настоящее время я использую shunit2 для проверки моих сценариев и функций оболочки.

Мой вопрос (ы) является/являются:

  1. Можно ли использовать Travis CI для тестирования скриптов?
  2. Если нет, то есть какие-то альтернативы, которые я мог бы использовать в этом подключении в GitHub?
  3. Каков наилучший способ проведения тестирования интеграции в сценариях оболочки?

ответ

30

Абсолютно.

Я сделал простой тест здесь: https://travis-ci.org/soulseekah/test-shunit2-travis

Мой .travis.yml файл:

language: bash 

before_script: 
    - curl -L "http://downloads.sourceforge.net/shunit2/shunit2-2.0.3.tgz" | tar zx 

script: 
    - bash equality_test.sh 

Repository: https://github.com/soulseekah/test-shunit2-travis

+0

спасибо. Это именно то, что я искал. Веб-сайт Travis CI действительно трудно ориентироваться. У меня был дополнительный вопрос. Я в основном делаю включенные файлы, и я хочу, чтобы файлы запускали тесты, когда include запускается как сценарий, но чтобы избежать запуска тестов, когда они получены. Каков ваш метод для этого? В настоящее время я использую нечто вроде 'scriptName = $ (basename $ _); if [["$ scriptName" = "$ 0"]] '. Прошу прощения за то, что у меня нет фактического кода на данный момент. Будет обновляться немного позже. –

+0

Если я правильно понял ваш вопрос, я считаю, что вы можете просто проверить одну из констант, которые определены при запуске shunit: http://shunit2.googlecode.com/svn/trunk/source/2.1/doc/shunit2.html # some-constants-you-can-use – soulseekah

+0

Я предполагаю, что я искал ответ больше, чем этот http://stackoverflow.com/questions/2683279/how-to-detect-if-a-script-is-being- но так же, как в комментариях говорилось, что '$ _ и $ 0' очень хрупкие. Я хотел знать, есть ли у вас особый способ справиться с этим. Причина в том, что я хочу проверить и проверить все мои сценарии, но поскольку они включены, я не хочу, чтобы тесты запускались при получении сценариев. –

Смежные вопросы