Nano Hash - криптовалюты, майнинг, программирование

ScalaTest Plus не распознает тесты

Мне было поручено обновить и написать серию тестов для приложения на 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, по-прежнему не возвращают никаких тестов.


  • Попробуйте import org.junit.runner._ и добавьте @RunWith(classOf[JUnitRunner]) в класс 20.04.2015
  • К сожалению не сработало. Тот же результат, когда я импортировал org.junit.runner.RunWith и импортировал org.scalest.junit.JUnitRunner 20.04.2015

Ответы:


1

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

23.04.2015
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..