Метод @Test в признаке Scala не найден - PullRequest
3 голосов
/ 06 августа 2011

кто-нибудь знает, почему @ Test аннотировал методы , которые наследуются от черты Scala не найдены тестом JUnit 4 бегун? Это дает мне "Тесты JUnit не найдены".

class FooTests extends BarTesting

Но работает ли следующая модификация?

import junit.framework.TestCase

class FooTests extends TestCase with BarTesting

В признаке Scala BarTesting я определил методы со следующей сигнатурой.

@Test
final def testBar() {
 // ...
}

1 Ответ

1 голос
/ 08 августа 2011

Это действительно ошибка в Eclipse.Вы можете поднять как таковой, если хотите.http://www.assembla.com/spaces/scala-ide/tickets.

Когда вы расширяете TestCase, тест выполняется потому, что он начинается с теста, а не из-за аннотации.Возникла проблема с распознаванием аннотаций, из-за чего и работает джунит, и я пока не смотрел, исправлено ли это, чтобы заставить джунит работать.

Лучше всего:

  1. Исправить ошибку в scala-ide
  2. Добавить @RunWith [classOf [JUnit]) в ваш класс

Следующие работы:

trait BarTesting {
  @Test final def testBar() {
    println("Hello world")
  }
}

@RunWith(classOf[JUnit4])
class FooTesting extends BarTesting {
}

И я постараюсь исправить ошибку.

РЕДАКТИРОВАТЬ: В последних версиях scala-ide (по состоянию на 9 ноября 2011 года) это теперь работает.

...