在 test/Bestpractice 中访问 Junit 测试结果?

Acessing Junit Test results inside a test/Bestpractice?

我目前正在为我的系统编写几个测试。假设我有一个函数 a 和一个使用函数 a 的函数 b。我现在想以某种方式实现它,如果 a 的其中一个测试失败,则测试 b returns 一条消息,如果 a 失败,它就无法工作。我的第一个问题是,这是个好主意吗?

其次,到目前为止我一直这样做:

Result result = JUnitCore.runClasses(TestA.class);
if (!result.wasSuccessful())
    fail("This test only works if a works")

但是使用这种方法我只能检查完整的 class 测试是否有效,而不是某个测试是否有效。一项测试如何检查另一项测试是否失败?想象他们都在同一个 class

这通常不被认为是最佳做法。

如果您的测试 运行 很快,那么最简单的做法就是总是 运行 两个测试。做你在这里做的事情只会增加复杂性。

在某些情况下,如果条件不成立,您可以使用 Assume 使测试短路(不会导致测试失败)。