python以字符形式向控制台输出结果的函数_编写pytest函数以检查控制台上的输出(stdout)...

使用capfd夹具。

示例:def test_foo(capfd):

foo() # Writes "Hello World!" to stdout

out, err = capfd.readouterr()

assert out == "Hello World!"

有关内置设备的列表,请参见:py.test --fixtures。

你的例子有一些问题。以下是更正版本:def f(name):

print "hello {}".format(name)

def test_f(capfd):

f("Tom")

out, err = capfd.readouterr()

assert out == "hello Tom\n"

注意:不要使用sys.stdout——使用pytest提供的capfd夹具。

使用py.test foo.py运行测试

测试运行输出:$ py.test foo.py

====================================================================== test session starts ======================================================================

platform linux2 -- Python 2.7.5 -- pytest-2.4.2

plugins: flakes, cache, pep8, cov

collected 1 items

foo.py .

=================================================================== 1 passed in 0.01 seconds ====================================================================

另请注意:您不需要在测试模块中运行测试函数。py.test(CLI工具和Test Runner)为您执行此操作。

py.test主要做三件事:收集您的测试

运行测试

显示统计信息和可能的错误

默认情况下,py.test在测试模块中查找(可配置的iirc)test_foo.py测试模块和test_foo()测试函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值