嘿,我正在使用SpringJUnit4ClassRunner,并使用Eclipse UI运行大型测试套件。
当测试失败时,我可以在junit视图中看到异常和完整的堆栈跟踪。我希望他们也被记录下来。
(使用由apache.commons.logging包装的log4j)

最佳答案

扩展SpringJUnit4ClassRunner:

public class MySpringJUnit4ClassRunner extends SpringJUnit4ClassRunner{
    @Override
    public void run(RunNotifier notifier) {
    EachTestNotifier testNotifier= new EachTestNotifier(notifier,
            getDescription());
    try {
        Statement statement= classBlock(notifier);
        statement.evaluate();
    } catch (AssumptionViolatedException e) {
        testNotifier.fireTestIgnored();
        Logger.error(e);
    } catch (StoppedByUserException e) {
        Logger.error(e);
        throw e;
    } catch (Throwable e) {
        testNotifier.addFailure(e);
        Logger.error(e);
    }
  }
 //...
}


然后使用MySpringJUnit4ClassRunner作为运行程序。

10-06 01:28