在使用Nose进行单元测试时抑制Cherrypy的输出

3 投票
2 回答
1179 浏览
提问于 2025-04-15 17:42

我正在使用cherrypy来搭建一个网络服务器,同时用nose来运行我的单元测试。不过,即使我使用了--nologcapture选项,nose仍然会捕捉到很多调试信息并打印到标准输出,特别是cherrypy的日志信息。这让测试的输出变得很难阅读。

我曾想过:

def setUp(self):
   cherrypy.config.update({ "server.logToScreen" : False })
   cherrypy.config.update({'log.screen': False})

如果和--nologcapture选项一起使用,应该能抑制这些信息,但显然并没有效果。

有没有人知道怎么去掉这些信息,让测试输出干净整洁呢?

2 个回答

1

我之前在用CherryPy 3.1.2的时候遇到了这个问题。后来我换成了3.2.2版本,结果问题就解决了,而且不需要改任何代码。

4

你没有提到你使用的是哪个版本的CherryPy,但根据你遇到的问题,我猜测你可能在用3.x版本。我认为你需要添加以下配置选项:

cherrypy.config.update({ "environment": "embedded" })

我最近也遇到了同样的问题,当时我在用Twill测试一个CherryPy应用

撰写回答