我的Junit中随机失败的测试用例存在问题。调查涉及为大量迭代运行一个特定的套件,以使错误生效,并使测试案例不时失败。
我需要一种日志记录解决方案,该解决方案不会直接(通过任何Log4J或简单的System.out)记录消息,而是将行收集在缓冲区中,等待我告诉它记录整个内容并将其刷新或仅记录到刷新而不记录。
我将使用JUnit的@Rule
功能使此日志仅在失败的测试用例中被调用,因为我需要大量运行(例如1000或更多),否则会严重污染日志(更不用说包含大量日志内容的报告网页需要花费很多时间。
我打算将这样的记录器注入我的“引起麻烦的可疑类”,并让他们将自己的东西记录到该缓冲记录器中,并使测试用例仅出于失败而公开其内容。编写这样一个简单的类来处理这个问题很容易,但是我想知道是否为此目的有一个开放源代码的即用型解决方案,所以我不会重新发明轮子。