java - 如何在使用 sbt 运行的 junit4 中打开断言语句?

标签 java junit sbt assert

我在我的 java 项目中使用 sbt 进行开发例程,junit-interface用于运行测试。 但默认情况下它会忽略断言语句(断言用于检查底层代码中的某些不变量)。例如,此测试通过:

@Test
public void test() {
  // this is example; In reality assertion somewhere in code under test
  assert false; // not assertTrue(or whatever) from junit
}

我的 build.sbt 文件相当简单:

organization := "Kharandziuk"

name := "Some alg project"

version := "1.0-SNAPSHOT"

libraryDependencies ++= Seq(
    "junit" % "junit" % "4.8.1" % "test",
    "com.novocode" % "junit-interface" % "0.10" % "test"
)

autoScalaLibrary := false

testOptions += Tests.Argument(TestFrameworks.JUnit, "-a", "-q", "-v")

fork in run := true

javaOptions in run += "-ea"

如何在测试中启用断言语句?

最佳答案

您可以将其设置为单独的任务,例如。 测试:

javaOptions in test += "-ea"

或者简单地将其设置在任何地方:

javaOptions += "-ea"

无论如何,@MPirious 是正确的,因为您通常不希望通过单元测试导致断言失败。单元测试应该对代码的逻辑进行沙箱

关于java - 如何在使用 sbt 运行的 junit4 中打开断言语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24637692/

相关文章:

maven-2 - 如何告诉Maven2在新的JVM实例中一个一个地执行jUnit测试?

scala - 使用 sbt-native-packager 的 docker 支持添加/复制文件

java - 比较数字集之间相似性的有效算法?

java - session bean 中的静态变量限制

java - Gradle - 使用 Java 7 的 Spring Boot

scala - 如何在没有 sbt 的情况下运行 sbt 管理的应用程序项目?

scala - sbt 在 travis-ci 测试期间挂起

Java:将实现的列表的映射分配给泛型类型的列表的映射时出现编译错误

java - 带有套件的 Junit 测试运行器

windows - 如何获取 JUnit 版本