Мне было поручено обновить и написать серию тестов для приложения на Scala Play, языке и платформе, с которыми я не знаком. Часть того, что я хотел бы сделать, это интегрировать библиотеку ScalaTestPlus. Для начала я следовал следующему руководству:
https://www.playframework.com/documentation/2.2.x/ScalaTestingWithScalaTest
К сожалению, я не очень далеко. Я добавил новый файл модульного теста в папку с тестами:
import org.scalatestplus.play._
class StackSpec extends PlaySpec {
"A Test" must {
"pass" in {
assert(1 == 1)
}
"Fail" in {
assert(1 != 1)
}
}
}
и я обновил свой build.sbt, включив в него библиотеку scalatestplus.
"org.scalatestplus" % "play_2.37" % "1.2.0" % "test"//,
Используя Activator, я пытаюсь запустить свой тестовый файл только для теста. Все компилируется без ошибок, но активатор не находит тестов
[info] No tests were executed.
Я не думаю, что проблема связана с активатором, поскольку я могу запускать старые тестовые файлы (от предыдущего инженера), используя команды test и только для тестирования. Быстрый образец одного из предыдущих (рабочих) тестовых файлов:
import java.util.concurrent.TimeUnit
import com.sun.xml.internal.bind.v2.TODO
import scala.collection.JavaConverters._
import controllers.Application
import models.{Item, PriorityBucket}
import play.api.test._
class WebSpec extends PlaySpecification {
"Home page" should {
"do something" in new WithSeleniumDbData(TestUtil.testApp) {
Redacted.deleteAll()
val ObId = TestUtil.create(Some(PriorityBucket.Low),
Some(Application.ENGLISH))
val item = Item.find(ItemId).get
browser.goTo("/")
browser.await().atMost(2,
TimeUnit.SECONDS).until(Selectors.all_obs).isPresent
}
Любые идеи, где я сбился с пути? Заранее спасибо за помощь!
Я использую scala 2.11, я использую play 2.3.7.
РЕДАКТИРОВАТЬ: возможно, актуально, я переключил расширение с PlaySpec на FlatSpec и увидел следующую ошибку при компиляции:
SampleSpec.scala:10: value in is not a member of String
[error] "pass" in {
Я также удостоверился, что импортировал FlatSpec, что меня немного смутило: является ли FlatSpec членом ScalaTest, но не членом ScalaTestPlus, я не понимаю, почему иначе компиляция завершится ошибкой.
ОБНОВЛЕНИЕ. Для дальнейшего изучения проблемы я запустил новое приложение Play и скопировал свой образец теста. После некоторой работы с версиями я смог запустить свой тест с помощью тестовой команды активатора с остальной частью пакета. К сожалению, любые другие команды, такие как test-only, по-прежнему не возвращают никаких тестов.