Минутка рекламы для всех, кто пишет тесты на Scalatest. Мы уже писали про Allure — open-source отчет для тестов. Так вот ScalaTest тоже поддерживается. Подробности по ссылке. Больно за рекламу не бейте.
Спасибо ) Я вот думал вставить голосование в конце про потенциальную тему для потенциальной следующей статьи. Но так и не решился. Может, все же стоит?
Кстати, для IDEA, начиная с 13й версии, уже совершенно не нужны сторонние плагины для SBT. Встроенный плагин для идеи сам умеет загружать и анализировать SBTшные проекты, почти как с Maven или Gradle.
Да, там вместе с плагином для поддержки Scala устанавливается плагин SBT, плюс еще один отдельный плагин SBT доступен… ну как еще один отдельный плагин. Зачем он — я так и не разобрался, хотя установил его поначалу для пробы, но потом снес. Видимо, просто остался с былых времен для старых версий среды. Кроме того, чем мне нравится idea — в ней можно запустить отдельный (dedicated) процесс компилятора scala, и в результате компиляция проекта у меня происходит ну очень быстро. Ну и тесты idea отлично гоняет. В общем, одни радости у меня с переходом как на scala, так и на idea :)
В идее сейчас есть два плагина — Scala (официальный) и SBT (сторонний). Но начиная с 13й версии поддержка SBT встроена в официальный плагин Scala, поэтому никаких других плагинов для SBT не нужно ни в идее, ни в SBT.
Единственный минус — пока что официальный плагин не поддерживает SBT-консоль и выполнение SBT-команд (это запланировано), поэтому если это нужно, то нужно воспользоваться сторонним плагином для SBT. Хотя опять же 13я идея умеет открывать полноценный терминал внутри себя, так что особой нужды в стороннем плагине нет.
Спасибо, теперь все понятно с этими плагинами. Какие-то sbt-команды, кроме gen-idea, мне пока не приходилось использовать, необходимости в этом особой не было. Хотя, иногда я запускаю тесты в терминале, и тут у меня создалось ощущение, что idea компилирует проект куда-то в свое отдельное место. Потому что после компиляции проекта в idea и попытке запуска тестов из терминала сразу после этого, отдельно запущенный sbt компилирует проект заново. То же самое касается зависимостей: после добавления какой-либо библиотеки в libraryDependencies IDEA, как и полагается, качает ее из репозитария. Но sbt, запущенный после этого, тоже скачивает эту же библиотеку еще раз, игнорируя скачанную идеей.
Этот терминал в IDEA 13, кстати, просто замечательно работает и заменяет полноценную консоль даже на Windows, что традиционно осложнено отсутствием внятного инструментария для перехвата console API. А внутре у него winpty-agent, если кому интересно.
Предполагаете, кот-детерминатор справится с поставленной задачей лучше кота-терминатора? Мысль, наверное, неплохая, но нужно бы измерить ожидаемый прирост убитых человеков в секунду. Может статься, что игра не стоит свеч.
Убить всех человеков с помощью кота, или конечные автоматы на Akka.FSM