java sbt 测试:如果测试是 运行 with SpringJUnit4ClassRunner,则忽略异常
java sbt test: exception ignored if test is run with SpringJUnit4ClassRunner
当测试抛出的异常被 sbt 忽略并且不会破坏构建时出现问题。
一些代码:
测试:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = MyConfig.class)
public class MyTest {
@Autowired
private ClassBeingTested sut;
@Test
public void test() {
if (true)
throw new Exception(); //it must break the build, but it doesn't
}
}
如果我删除 SpringJUnit4ClassRunner 并自己注入依赖项,它将按预期破坏构建。
如果我禁止 sbt 分叉测试过程,它也会破坏构建:
lazy val myProject = project.in(file("foo/proj"))
.settings(....)
.settings(sbt.Keys.fork in Test := false) <- the exception breaks the build
知道为什么会这样吗?
提前致谢
看起来是 SBT 的问题。一旦我将它从 0.13.5 更新到 0.13.8,问题就消失了。
当测试抛出的异常被 sbt 忽略并且不会破坏构建时出现问题。
一些代码:
测试:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = MyConfig.class)
public class MyTest {
@Autowired
private ClassBeingTested sut;
@Test
public void test() {
if (true)
throw new Exception(); //it must break the build, but it doesn't
}
}
如果我删除 SpringJUnit4ClassRunner 并自己注入依赖项,它将按预期破坏构建。
如果我禁止 sbt 分叉测试过程,它也会破坏构建:
lazy val myProject = project.in(file("foo/proj"))
.settings(....)
.settings(sbt.Keys.fork in Test := false) <- the exception breaks the build
知道为什么会这样吗?
提前致谢
看起来是 SBT 的问题。一旦我将它从 0.13.5 更新到 0.13.8,问题就消失了。