2015-07-10 3 views
1

Когда я запускаю buildr test, он даже не создает мои пакеты. Это похоже на нормальное поведение Buildr, которое, вероятно, считает, что пакеты не должны создаваться до тех пор, пока код не будет проверен на работу.Как мне получить buildr для проверки против jar, а не классов?

Проблема в том, что я пытаюсь исправить проблему, которая возникает только тогда, когда код запускается из банки. Если я запускаю свои тесты, все они проходят, но код вообще не работает на производстве.

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

Есть ли способ сделать это?

(я думал, что test.using :integration будет трюком, но нет ... она выводит различную информацию, когда он работает, но он все еще скачет сборки пакета, а затем переходит к набегать голые файлы.)

ответ

1

Мы делаем это, создавая еще один проект, который имеет зависимость от вывода первого проекта, а затем проверяет его. то есть пример из нашего интеграционного тестирования выглядит как

define 'myproject' do 
    ... 
    define 'server' do 
    ... 
    package(:jar) 
    end 
    ... 
    define 'integration-tests' do 
    # Either add it as a dependency 
    test.with project('server').package(:jar) 
    # Or manually load jar so the classpath 
    # can be explicitly controlled and pass in system 
    # property to locate jar 
    test.enhance([project('server').package(:jar)]) 
    test.using :properties => 
      { 
       'jar.filename' => project('server').package(:jar).to_s, 
      } 
    end 

В основном мы делаем это при тестировании военных файлов, но он должен работать нормально для обычных банок, а также. Надеюсь, это поможет!

+0

Это выглядит как хороший трюк, предполагая, что мне не нужно сейчас переводить все мои модульные тесты на другой модуль. ;) – Trejkaz