eclipse не обрабатывает самую маленькую плоскую спецификацию как тест junit

вот мой тестовый пример, в то время как я щелкаю правой кнопкой мыши файл eclipse, он не показывает никакого запуска в качестве опции теста junit. Я пытаюсь вручную создать конфигурацию запуска, но это не имеет никакого смысла. версия scala: 2.8.1 scalatest: 1.3 затмение: 3.6.2

package org.jilen.cache.segment

import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
import org.scalatest.FlatSpec
import org.scalatest.matchers.ShouldMatchers

@RunWith(classOf[JUnitRunner])
class RandomSegmentSpec extends FlatSpec with ShouldMatchers {
  val option = SegmentOptions()

  "A Simple Segment" should "contains (douglas,lea) after put into" in {
    val segment = RandomSegment.newSegment(option)
    segment.put("douglas", "lea")
    segment("douglas") should be("lea")
  }
  it should "return null after (douglas,lea) is remove" in {
    val segment = RandomSegment.newSegment(option)
    segment.put("douglas", "lea")
    segment -= ("douglas")
    segment("douglas") should equal(null)
  }

  it should "contains nothing after clear" in {
    val segment = RandomSegment.newSegment(option)
    segment.put("jilen", "zhang")
    segment.put(10, "ten")
    segment += ("douglas" -> "lea")
    segment += ("20" -> 20)
    segment.clear()
    segment.isEmpty should be(true)
  }
}

person jilen    schedule 17.04.2011    source источник
comment
возможный дубликат, stackoverflow.com/questions/4806706/   -  person uncaught_exceptions    schedule 17.04.2011
comment
возможно, вам придется использовать сборку плагинов.   -  person uncaught_exceptions    schedule 17.04.2011
comment
Я думаю, это потому, что я использую последнюю веху scala-ide. И он не может преобразовать текстовый элемент в элемент Java. Может в этом причина   -  person jilen    schedule 18.04.2011


Ответы (3)


Это известная проблема с Eclipse IDE для Scala. В настоящее время я работаю над плагином для этого. Наблюдайте за этим пространством.

person Matthew Farwell    schedule 18.04.2011
comment
новая версия beta5 решила эту проблему. Но есть проблема, когда многомодульные тесты в одном исходном файле - person jilen; 30.06.2011

Я столкнулся с этим, казалось бы, случайно, и я думаю, что наконец понял, почему.

К сожалению, плагин еще не изменяет ни объявления пакетов при перемещении файлов, ни имена классов при переименовании файлов. (Учитывая, что вы можете поместить несколько классов в один файл, последний, скорее всего, никогда не будет выполнен.) Если вы привыкли к тому, что переименования выполняются автоматически в Eclipse, как и я, вы обязательно поймете это.

Итак... внимательно проверьте следующее:

  1. объявление пакета в вашем файле Scala соответствует имени пакета Eclipse
  2. имя тестового класса в файле Scala совпадает с именем файла Scala

Я только что столкнулся с этим, исправил оба, и теперь мой тест!

person Rodney Gitzel    schedule 03.05.2011
comment
Это не всегда проблема, увы. - person Rodney Gitzel; 07.07.2012
comment
Спасибо! Жаль, что eclipse не предупреждает, когда объявление пакета исходного файла отличается от каталога, в котором он находится... (только потому, что файл появляется в проводнике пакетов под данным пакетом, на самом деле не означает, что объявление пакета совпадает!) - person pretzels1337; 04.04.2014

Я обнаружил, что Scalatest очень плохо интегрируется с Eclipse (запуск тестов из eclipse показал, что он их запускал, но они не проходили и не терпели неудачу, а просто отображались как пассивные пустые поля). По какой-то причине я НЕ смог заставить его работать после 3 часов попыток!

Наконец я попробовал specs2 — и это сработало (Scala 2.9, Junit4 и Eclipse 3.6)!

У них есть отличный документ здесь: http://etorreborre.github.com/specs2/guide/org.specs2.guide.Runners.html#Runners+guide

Поскольку мне все равно, какую среду тестирования использовать, я попробую использовать Specs2 исключительно из соображений удобства. Посмотреть.

person Andriy Drozdyuk    schedule 04.07.2011