Python中的基本测试框架

Python中的基本测试框架,python,Python,我是Python新手,我被要求编写脚本来做一些测试,我可以从什么Python模块开始?单元测试 示例测试包括: if not host_is_pingable(): print "Unable to ping" sys.exit() if not able_to_ssh(): print "Unable to ssh into the host" sys.exit() if not mounts_are_ok(): print "Missing

我是Python新手,我被要求编写脚本来做一些测试,我可以从什么Python模块开始?单元测试

示例测试包括:

if not host_is_pingable():
     print "Unable to ping"
     sys.exit()
if not able_to_ssh():
     print "Unable to ssh into the host"
     sys.exit()
if not mounts_are_ok():
     print "Missing mounts"
     sys.exit()
if not misc_test():
     print "some error"
     sys.exit()

进行测试的方法有很多,通常取决于您使用的框架。但是,只要假设您需要某种形式的正式测试框架,就可以使用pytest

步骤1,安装pytest

$ pip install pytest
第2步,格式化代码。您将根据函数的返回测试输出

def host_is_pingable(x):
    #Do your verification logic here... putting the result in a string valid
    return valid
步骤3,现在编写测试

def test_answer():
    assert host_is_pingable(ip_address) != "some error"
$ py.test
第4步,运行测试

def test_answer():
    assert host_is_pingable(ip_address) != "some error"
$ py.test
这不是一个单元测试,而是一个样板测试框架

如果您想进行单元测试,这里有一个很好的指南:

2019年更新


unittest入门指南链接现在已失效,但您可以在WayBackMachine此处找到它存档的链接

这些链接看起来不像单元测试。它们看起来像一张支票。你说的“测试”到底是什么意思?如果你想做纯粹的基于字符串的测试,你可以使用doctests,这也很有帮助。