Как запустить Scala + specs2 из командной строки? - PullRequest
7 голосов
/ 23 октября 2011

Я совершенно новичок в программировании на Scala, и у меня нет опыта работы с Java;Я родом из рубина.Я пытаюсь запустить мой первый пример программы TDD.Я планирую что-то очень маленькое, с 5 или 6 тестами.Я пытаюсь использовать specs2 lib.У меня нет IDE, я обычно программирую на vim и выполняю вещи из командной строки.

Как мне работать с scala & specs2 на моем маленьком файле .scala из командной строки?

В Quick Start они упоминают это:

scala -cp ... specs2.run HelloWorldSpec
  1. Я понятия не имею, что означает этот элипсис (...),Что я должен поместить туда?
  2. Эта команда ссылается (я предполагаю) на файл с именем specs2.run.Но в разделе загрузок я получаю только файл .jar.Где находится specs2.run?
  3. В разделе зависимости мне дается две технологии - sbt и maven (я их гуглил, раньше их не знал).Должен ли я использовать sbt / maven несмотря ни на что?Разве я не могу просто использовать консольную команду?Это всего 1 файл с 5 тестами.
  4. Я знаю, что есть пример приложения, но опять-таки оно не содержит инструкций по его запуску.Я думаю, что он подготовлен для работы с SBT и Maven.Я бы предпочел не учиться использовать какие-либо из них только для быстрого тестирования.Возможно ли это?

Большое спасибо.

1 Ответ

10 голосов
/ 23 октября 2011

Добро пожаловать в scala и specs2!

  1. ... обозначает пути ко всем банкам, которые вам нужны для запуска спецификаций, включая ваши собственные (или путь к каталогусодержащий файлы .class).Эти банки перечислены на странице Бегуны .Для простой спецификации вам нужно только scalaz-core , scalaz-concurrent и specs2 .

  2. specs2.runэто полное имя класса, используемого для запуска вашей спецификации в командной строке.Итак, полная команда для запуска спецификации выглядит следующим образом:

    scala -cp scalaz-core.jar:scalaz-concurrent.jar:specs2.jar:your-classes-directory specs2.run YourSpecification

  3. Вы действительно можете использовать командную строку только без sbt или maven, если знаете, гдеполучить необходимые файлы jar и как скомпилировать ваши классы scala (с помощью команды scalac)

  4. да, пример приложения поставляется с файлами проектов sbt и mavenтак что для выполнения тестов просто требуется, например, sbt test.Если вы сделаете это, sbt установит все необходимые зависимости, скомпилирует классы и запустит тесты.Я думаю, что это лучший способ для начала (следуйте руководству по установке sbt , это действительно быстро ИМХО), но опять же, для простого проекта вы также можете сделать это вручную

...