标签: pydev

PyDev unittesting:如何在"捕获的输出"中捕获记录到logging.Logger的文本

我正在使用PyDev进行Python应用程序的开发和单元测试.至于单元测试,一切都很好,除了没有内容记录到日志框架.PyDev的"捕获输出"未捕获记录器.

我已经将所有记录到标准输出的内容转发如下:

import sys
logger = logging.getLogger()
logger.level = logging.DEBUG
logger.addHandler(logging.StreamHandler(sys.stdout))
Run Code Online (Sandbox Code Playgroud)

然而,"捕获的输出"不会显示记录到记录器的东西.

这是一个示例unittest-script:test.py

import sys
import unittest
import logging

logger = logging.getLogger()
logger.level = logging.DEBUG
logger.addHandler(logging.StreamHandler(sys.stdout))

class TestCase(unittest.TestCase):
    def testSimpleMsg(self):
        print("AA")
        logging.getLogger().info("BB")
Run Code Online (Sandbox Code Playgroud)

控制台输出是:

Finding files... done.
Importing test modules ... done.

testSimpleMsg (itf.lowlevel.tests.hl7.TestCase) ... AA
2011-09-19 16:48:00,755 - root - INFO - BB
BB
ok

----------------------------------------------------------------------
Ran 1 test in 0.001s

OK
Run Code Online (Sandbox Code Playgroud)

但是测试的CAPTURED OUTPUT是:

======================== CAPTURED OUTPUT =========================
AA
Run Code Online (Sandbox Code Playgroud)

有人知道如何捕获logging.Logger在执行此测试期间记录到的所有内容吗?

python logging unit-testing pydev

52
推荐指数
5
解决办法
4万
查看次数

在pydev中打破异常

是否有可能让pydev调试器在异常中中断?

python eclipse debugging exception pydev

45
推荐指数
2
解决办法
1万
查看次数

Eclipse中的正则表达式字符串上的pep8警告

为什么pep8抱怨代码中的下一个字符串?

import re
re.compile("\d{3}")
Run Code Online (Sandbox Code Playgroud)

我收到的警告:

ID:W1401  Anomalous backslash in string: '\d'. String constant might be missing an r prefix.
Run Code Online (Sandbox Code Playgroud)

你能解释一下这个消息的含义吗?我需要在代码中更改什么才能传递警告W1401

代码通过测试并按预期运行.此外\d{3}是一个有效的正则表达式.

python eclipse string pep8 pydev

44
推荐指数
2
解决办法
2万
查看次数

使用Pydev进行连续单元测试(Python和Eclipse)

有没有办法将背景单元测试与Pydev Eclipse环境集成?

我的单元测试运行良好,但我希望将它们集成到基于源文件更改的后台运行(例如使用nose)并将结果集成回Eclipse(当测试使用控制台失败时,我正在考虑大红色X和跟踪日志视图).

不,在侧面运行鼻子的命令提示符不计算在内.

我在开发RoR时已经有了这个Eclipse集成.

谢谢,

塔尔.

编辑:查看新的Pydev(1.6.4)http://pydev.org/manual_adv_pyunit.html

python unit-testing pydev

43
推荐指数
3
解决办法
1万
查看次数

Python lambda不接受元组参数

我在两台PC上运行带有PyDev v2.6插件的Eclipse SDK v3.6,包括Linux和Windows.

我想传递一个元组作为参数,就像(只是示例):

foo = lambda (x,y): (y,x)
print (foo((1,2)))
Run Code Online (Sandbox Code Playgroud)

这适用于Linux并提供结果:

(2,1)

在Windows上它出现错误:

foo = lambda (x,y): (y,x)
             ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

如何解决问题?提前致谢...

感谢interjay和他对PEP 3113的引用,我发现从3.0版本的Python中不推荐使用元组参数.

所以,代码没有工作,看起来像

foo = lambda (x,y): (y,x)
print (foo((1,2)))
Run Code Online (Sandbox Code Playgroud)

现在适用于Python的2.7版和3.0版,看起来像

foo = lambda (x,y): (y,x)
             ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

其中接受是tupes列表反正.

python eclipse lambda tuples pydev

41
推荐指数
1
解决办法
4万
查看次数

如何删除Eclipse的PyDev插件中的尾部空格

理想情况下,当我保存文件时,eclipse应该删除所有尾随空格.我知道在eclipse的C++/Java插件中有这个选项,但我找不到PyDev的插件.有吗?如果没有,最简单的方法是什么?

python eclipse pydev

38
推荐指数
2
解决办法
1万
查看次数

在Eclipse中使用Pydev的交互式控制台?

我正在使用Pydev插件在Eclipse中调试我的Python代码.我能够打开一个Pydev控制台,它给了我两个选项:"当前活动编辑器的控制台"和"Python控制台".但是,在断点之后,它们都不能用于检查当前变量状态.

例如,代码在断点处停止,我想使用控制台检查"action"变量.但是我的变量不可用.我怎么能做"dir(动作)"之类的事情?(即使它没有使用控制台).

python debugging console interactive pydev

36
推荐指数
3
解决办法
3万
查看次数

pydev:查找对函数的所有引用

这可能是之前被问过的,但我似乎无法找到答案.我已经从Windows迁移到Linux并且最近开始使用PyDev(Aptana),但我似乎无法找到的是如何查找函数的所有引用.

python pydev

35
推荐指数
1
解决办法
9475
查看次数

Aptana Error-pydev:端口未绑定(找到端口-1)?

我刚刚更新了我的Aptana Studio3.当我打开我的python文件时,它说它无法找到map,range以及filter其他一些方法.但是当我运行我的代码时,它会毫无问题地运行.我的代码完成不再起作用了.使用CTRL + SPACE时代码完成的错误是

   Port not bound (found port -1). Is there an enabled firewall? 
Run Code Online (Sandbox Code Playgroud)

我不知道问题在哪里?!! 我搜索过但我找不到合适的解决方案.我正在使用Windows 7.

python aptana pydev

34
推荐指数
1
解决办法
1万
查看次数

PyDev中的经典垂直滚动条在哪里?

我刚刚更新了Eclipse(与PyDev一起使用),并且惊奇地发现经典的垂直滚动条被改为一些奇怪的东西,如图中标记的(截图).

在此输入图像描述

Eclipse Standard/SDK

版本:Kepler Service Release 2 Build id:20140224-0627

我想问你如何禁用它或将其更改回Eclipse中编辑器中的经典垂直滚动条?

eclipse windows pydev

34
推荐指数
2
解决办法
1万
查看次数