Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support JUnit 3 TestSuite #89

Open
eed3si9n opened this issue Jul 28, 2024 · 2 comments
Open

Support JUnit 3 TestSuite #89

eed3si9n opened this issue Jul 28, 2024 · 2 comments

Comments

@eed3si9n
Copy link
Member

I understand if the original intention of the fix for @Suite was to only fix JUnit 4 suites. I only wish to provide some feedback about other cases.

steps

// src/test/MathTest.scala
// This is a definition of a JUnit 3 test case. Many of these test cases will be "dynamically" collected into a JUnit 3 `TestSuite` and run.

class MathTest(op1: Int, op2: Int, res: Int) extends TestCase(s"$op1 + $op2 = $res") {
  final override def runTest(): Unit = {
    assertEquals(res, op1 + op2)
  }
}
// src/test/MathSuite.scala

class MathSuite extends TestCase

object MathSuite {
  // This is essentially a Scala 2.12+ hack, where methods on the companion object produce static forwarders on the class.
  // This is the Scala equivalent of the JUnit 3 convention public static Test suite() { ... }
  def suite(): Test = {
    val s = new TestSuite("MathSuite")
    s.addTest(new MathTest(1, 2, 3))
    s.addTest(new MathTest(2, 3, 4))
    s
  }
}

problem

It still produces:

[error] java.lang.RuntimeException: Test class MathTest is not enclosed by MathSuite

notes

The JUnit 3 TestSuite is still not fixed by #87 (I did a publishLocal).

Originally posted by @vasilmkd in #87 (comment)

@vasilmkd
Copy link
Contributor

Thanks for opening this ticket!

@vasilmkd
Copy link
Contributor

An additional detail to this ticket, "org.junit.vintage" % "junit-vintage-engine" % JupiterKeys.junitVintageVersion.value % Test is required as a dependency for reproducing the described problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants