Как сравнить Scala с JMH в Intellij?
Я не могу понять, как сделать тесты программ Scala в Intellij с JMH.
Вот что я сделал до сих пор:
Добавлен JMH SBT-плагин
// build.sbt
name := "Project"
version := "1.0"
scalaVersion := "2.11.8"
enablePlugins(JmhPlugin)
// project/plugins.sbt
logLevel := Level.Warn
addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.2.10")
Вот сайт плагина
Создан эталонный класс
// src/main/scala/MyBenchmark.scala
import org.openjdk.jmh.annotations.Benchmark
class MyBenchmark {
@Benchmark
def test(): Unit = println("test")
}
Создал SBT-задачу в Intellij
Но после выполнения задачи я просто получаю исключение:
Annotation generator had thrown the exception.
java.lang.NullPointerException
at org.openjdk.jmh.generators.reflection.RFClassInfo.getPackageName(RFClassInfo.java:51)
at org.openjdk.jmh.generators.core.BenchmarkGenerator.validateBenchmark(BenchmarkGenerator.java:243)
at org.openjdk.jmh.generators.core.BenchmarkGenerator.generate(BenchmarkGenerator.java:90)
....
Что я делаю неправильно?
1 ответ
Попробуйте добавить имя пакета в тестовый класс.
Поскольку JMH жалуется на имя пакета не найдено. org.openjdk.jmh.generators.reflection.RFClassInfo.getPackageName(RFClassInfo.java:51)
Вы должны добавить строку как:
package your.path;