2016-08-17 92 views
1

這是按預期工作: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適用於第一種方法,但不適用於第二種方法?也許有從filecmp.cmp()assert的方法嗎?

回答

1

一切似乎都對。如果assert沒有完成,這看起來像常規的py.test輸出。

path1path2是否真的相等?嘗試

assert filecmp.cmp(path1, path1) 

看看assert聲明本身的工作原理。