Ede*_*ont 3 python unit-testing execution
我在 python 3.6 中导入了unittest,并像这样使用它:
class TestFunc(unittest.TestCase):
def test_half(self):
pass
def test_merge(self):
pass
def test_decrypt(self):
pass
def test_rank(self):
pass
if __name__ == "__main__":
print("printing before calling unittest")
unittest.main()
print("printing after calling unittest")
Run Code Online (Sandbox Code Playgroud)
输出如下所示:
printing before calling unittest
....
----------------------------------------------------------------------
Ran 4 tests in 0.001s
OK
Process finished with exit code 0
Run Code Online (Sandbox Code Playgroud)
对printie的第二次调用print("printing after calling unittest")不会执行。为什么单元测试后我什么也做不了?测试后如何继续使用代码?
单元测试文档对此进行了解释:
默认情况下,带有指示测试运行成功或失败的退出代码的
main调用。sys.exit()
sys.exit()立即退出脚本,因此您的最后一行永远不会被调用。
您可以通过传递来避免这种行为exit=False:
unittest.main(exit=False)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
287 次 |
| 最近记录: |