Scala не проверяет ElementType
на наличие аннотаций (даже вне Scala IDE), поэтому нет никакой цели для аннотации @Test для класса в Scala.
Фактически, вы можете применить любую аннотацию к классу, Scala не препятствует этому. Используя следующий пример:
import org.junit.Test
import org.junit.Rule
@Rule
class Foo {
@Test
def test(filename: String) = println("test");
}
после компиляции вы получаете аннотацию @Rule для класса. Это известная функция , потому что AFAIK, вы можете «применить» аннотацию к полю в источнике, но на самом деле окажетесь в методе, если вы используете одну из целевых аннотаций .
Если вы проводите свои тесты через любого из стандартных тестовых исполнителей, @Test
в классе не должно иметь никакого значения. Единственное, что имеет значение - это аннотация @Test
для метода.
Когда вы используете JUnit в Scala, вы должны следовать тем же правилам, что и в Java.