Scalatest Suites do not have detailed test output

When I run the following simple test using sbt, I get the output that I would expect:

import org.scalatest.{FlatSpec, Matchers, Suites}

class TestSimple extends FlatSpec with Matchers {
  "a" should "do" in {
    Array(1,3) should equal (Array(1,2))
  }
}

Conclusion:

[info] TestSimple:
[info] a
[info] - should do *** FAILED ***
[info]   Array(1, 3) did not equal Array(1, 2) (SimpleTest.scala:5)
[info] ScalaTest
[info] Run completed in 980 milliseconds.
[info] Total number of tests run: 1
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 0, failed 1, canceled 0, ignored 0, pending 0
[info] *** 1 TEST FAILED ***
[error] Failed: Total 1, Failed 1, Errors 0, Passed 0
[error] Failed tests:
[error]         TestSimple
[error] (test:test) sbt.TestsFailedException: Tests unsuccessful

When a test is included and annotated using DoNotDiscover, for example:

import org.scalatest.{DoNotDiscover, FlatSpec, Matchers, Suites}

class FullTestSuite extends Suites(new TestSimple)

@DoNotDiscover
class TestSimple extends FlatSpec with Matchers {
  "a" should "do" in {
    Array(1,3) should equal (Array(1,2))
  }
}

then the output does not include test results and failures, but instead has only general results:

[info] ScalaTest
[info] Run completed in 975 milliseconds.
[info] Total number of tests run: 1
[info] Suites: completed 2, aborted 0
[info] Tests: succeeded 0, failed 1, canceled 0, ignored 0, pending 0
[info] *** 1 TEST FAILED ***
[error] Failed: Total 1, Failed 1, Errors 0, Passed 0
[error] Failed tests:
[error]         FullTestSuite
[error] (test:test) sbt.TestsFailedException: Tests unsuccessful

How can I get run tests inside an instance of a class to output where and how they failed?

thank

+4
source share
1 answer

I think you encountered a mistake #916. You should also try the version >=3.0.0-M15and provide your feedback to the developers.

+3
source

Source: https://habr.com/ru/post/1651662/


All Articles