Pytest从方法断言返回值

时间:2016-08-17 08:01:54

标签: python python-3.x pytest

这可以按预期工作:

def my_method():
    return True;

def test_method():
    assert my_method()

但这不是:

assert filecmp.cmp(path1, path2)

相反,我得到:

AssertionError: assert <function cmp at 0x1042db840>((((('/Users/vital...my-path

当然,我可以将结果(TrueFalsefilecmp.cmp())分配给变量和assert此变量,但为什么assert适用于第一种方法但不是第二个?也许有assert来自filecmp.cmp()的方法吗?

1 个答案:

答案 0 :(得分:1)

一切似乎都是对的。如果未满足assert,这看起来像常规的py.test输出。

path1path2真的相同吗?尝试

assert filecmp.cmp(path1, path1)

查看assert语句本身是否有效。