【发布时间】:2017-04-11 14:47:42
【问题描述】:
我使用 import unittest 创建了单元测试。当我想运行特定测试并设置断点时,然后转到控制台并尝试评估表达式没有返回值,就好像标准输出不再是控制台屏幕一样。
我从未安装过 teamcity,但奇怪的是我在运行 unittest 时确实收到了消息。很奇怪。我认为可能 captureStandardOutput='true'(在下面最后一行强调)是问题的原因,但我什至找不到在哪里更改参数来测试它。
C:\Users\selas\AppData\Local\Continuum\Anaconda3\python.exe "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2017.1\helpers\pydev\pydevd.py" --multiproc --qt-support --client 127.0.0.1 --port 59641 --file "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2017.1\helpers\pycharm\_jb_unittest_runner.py" --target tests.test_model.FigurationDBTesting.test_printFigurationPerBoundary
pydev debugger: process 8932 is connecting
Connected to pydev debugger (build 171.3780.115)
teamcity[enteredTheMatrix timestamp='...']
Launching unittests with arguments python -m unittest tests.test_model.FigurationDBTesting.test_printFigurationPerBoundary
teamcity[testSuiteStarted timestamp='...' locationHint='python://tests' name='tests' nodeId='1' parentNodeId='0']
teamcity[testSuiteStarted timestamp='...' locationHint='python://tests.test_model' name='test_model' nodeId='2' parentNodeId='1']
teamcity[testSuiteStarted timestamp='...' locationHint='python://tests.test_model.FigurationDBTesting' name='FigurationDBTesting' nodeId='3' parentNodeId='2']
teamcity[testStarted timestamp='...' >!> captureStandardOutput='true' <!< locationHint='python://tests.test_model.FigurationDBTesting.test_printFigurationPerBoundary' name='test_printFigurationPerBoundary' nodeId='4' parentNodeId='3']
【问题讨论】:
-
您可以尝试编辑
helpers/pycharm/teamcity/unittestpy.py(在我的 Mac 上的 PyCharm.app 包中,不确定它在 Windows 的位置)。我将其更改为captureStandardOutput='false',调试器以我修改后的值开始,但结果相同:(