scala - How to add 'testListener' to custom test reporter in SBT -
i'm having difficulty implementing custom test reporter in scala using sbt.
i have basic sbt project set build.sbt
file:
name := "test framework" version := "0.1" scalaversion := "2.11.7" scalacoptions += "-deprecation" scalacoptions += "-feature" librarydependencies += "org.scalatest" % "scalatest_2.11" % "2.2.4" % "test" librarydependencies += "org.scalacheck" %% "scalacheck" % "1.12.4" % "test" testframeworks += new testframework("custom.framework.mytest") testlisteners += new mytest()
my mytest.scala
class located in projects
folder under projects/custom/framework/mytest.scala
, looks this:
import sbt.testslistener._ import sbt.testreportlistener._ class mytest extends testreportlistener { def doinit(): unit = { println("starting test") } def testevent(event: testevent): unit = { println(event.result.get) } def startgroup(name: string): unit = { println("group started") } }
the documentation here sparse, , i'm missing something. states need
specify test reporters want use overriding testlisteners setting in project definition. customtestlistener of type sbt.testreportlistener.
this should possible doing testlisteners += customtestlistener
. since class mytest extends testreportlistener
thought testlisteners += custom.framework.mytest
or testlisteners += new custom.framework.mytest
, not case.
i'm running sbt test
execute tests, , output is
error: not found: value custom testlisteners += new custom.framework.mytest
i'm not sure how supposed work. know how done correctly?
i did not figure out why stating package did not work, moving mytest.scala
file out project
directory, , removing custom.framework
package made work.
Comments
Post a Comment