Kla*_*ler 9 python pytest pycharm
如果assert的第二个参数正常使用,它会打印出调试信息。例如使用以下代码:
class TestTest:
def test_test(self):
assert 1 == 2, "TEST"
Run Code Online (Sandbox Code Playgroud)
打印如下调试信息:
tests\test_test.py:1 (TestTest.test_test)
1 != 2
Expected :2
Actual :1
<Click to see difference>
self = <tests.test_test.TestTest object at 0x000002147E5B1B08>
def test_test(self):
> assert 1 == 2, "TEST"
E AssertionError: TEST
E assert 1 == 2
E +1
E -2
test_test.py:3: AssertionError
Run Code Online (Sandbox Code Playgroud)
但是,如果断言发生在辅助函数中,则不会打印:
class TestTest:
def test_test(self):
self.verify(1)
def verify(self, parameter):
assert 1 == 2, "TEST"
Run Code Online (Sandbox Code Playgroud)
结果是:
tests\test_test.py:1 (TestTest.test_test)
1 != 2
Expected :2
Actual :1
<Click to see difference>
self = <tests.test_test.TestTest object at 0x000002AFDF1D5AC8>
def test_test(self):
> self.verify(1)
test_test.py:3:
Run Code Online (Sandbox Code Playgroud)
因此堆栈跟踪不完整并且调试信息未显示。
更新:只有通过 PyCharm (2021.3) 开始测试时才会发生这种情况。
有没有什么办法解决这一问题?
小智 1
Pycharm 有一些安静选项,例如pytest --no-header --no-summary -q
可以配置它们:文件>设置>高级设置,然后检查Pytest: do not add...我想你会明白的。
| 归档时间: |
|
| 查看次数: |
751 次 |
| 最近记录: |