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,问题就消失了。