我想制作"logger.isDebugEnabled()"来自groovy spock。如
logger.isDebugEnabled() >> false
我的代码是
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.env.PropertyResolver;
public class Sample{
public static final Logger logger = LoggerFactory.getLogger(Sample.class);
public void checkForAllRequiredProperties(String scope) {
if (logger.isDebugEnabled()) {
logger.debug("some message ");
}
}
}
而CCD_ 1是CCD_
您可以使用slf4j测试,该测试允许您访问TestLogger
,然后您可以使用CCD_4设置所需的日志记录级别,并检查记录的消息。有关用法示例,请参阅网站。
import spock.lang.*
import uk.org.lidalia.slf4jtest.TestLogger
import uk.org.lidalia.slf4jtest.TestLoggerFactory
import static uk.org.lidalia.slf4jtest.LoggingEvent.*
class ASpec extends Specification {
TestLogger logger = TestLoggerFactory.getTestLogger(Sample)
def "a test" () {
given:
// will only enable error level
logger.setEnabledLevels(Level.ERROR)
when:
// ...
then:
logger.getLoggingEvents() == [debug("some message ")]
}
}
您可能希望将这些日志记录测试分离到一个单独的测试目标中,以便其他测试使用正常的日志记录基础设施,或者不依赖于测试日志记录的范围。