我们希望编写测试,断言某些内容是作为Application Startup的一部分记录的。我们该怎么做?
答案 0 :(得分:0)
我会尝试的基本方法是:
我认为没有很多内置功能可以帮助您,因此您可能必须自己编写一些此基础结构,除非您可以找到某人的图书馆来帮助您。如果您使用slf4j记录回溯,我写了some code that makes a custom appender to fail a test if an error is logged for a similar question。您可以将它作为在运行特定JUnit测试时如何动态包含appender的起点。 “How to do a JUnit assert on a message in a logger”中还有java.util.Logging和log4j的一些示例。
通常,日志记录语句不是“核心”功能,只是帮助理解一个过程,因此通常不需要对它们进行单元测试。您可能最好只测试应用程序启动的结果是您期望的结果,而不是单独测试它还会在过程中记录某些内容。据推测,如果它正确启动,它也将运行那里的任何记录。我个人不需要变得更复杂,而不仅仅是检查没有记录错误,因为在那个链接的答案中,但是你可能有更复杂的要求。