我正在使用@ pytest.mark.parametrize與各種測試用例和預期輸出。它通過很少的測試用例並且在其他一些情況下給出了這個錯誤。甚至不能谷歌它。我想知道可能出了什麼問題。我會很高興,如果有人能告訴我如何至少谷歌的這個錯誤!Pytest錯誤
============================= test session starts ============================= platform win32 -- Python 2.7.12, pytest-3.0.3, py-1.4.31, pluggy-0.4.0 -- c:\python27\python.exe
cachedir: .cache
rootdir: C:\Python27, inifile:
collected 0 items/1 errors
=================================== ERRORS ====================================
___________________ ERROR collecting test_mod_pppoe_disc.py ___________________
lib\site-packages\py_path\local.py:650: in pyimport
import(modname)
lib\site-packages\pytest-3.0.3-py2.7.egg_pytest\assertion\rewrite.py:131: in find_module
source_stat, co = _rewrite_test(self.config, fn_pypath)
lib\site-packages\pytest-3.0.3-py2.7.egg_pytest\assertion\rewrite.py:322: in _rewrite_test
tree = ast.parse(source)
lib\ast.py:37: in parse
return compile(source, filename, mode, PyCF_ONLY_AST)
E ValueError: invalid \x escape
!!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!! =========================== 1 error in 0.21 seconds ===========================
@pytest.mark.parametrize("test_input1,test_input2,expected", [
(ARP(sha='D\x85\x00\xa2}\xad', spa='\n\[email protected]=', tha='\x00\x00\x00\x00\x00\x00', tpa='\n\[email protected]\x01'),"<socket._socketobject object at 0x0000000003DC8118>",0),
(ARP(sha='jrofalfeoiexad', spa='\[email protected]=', tha='\x00\x00\x00\x02jfcalkfel', tpa='\n\xcjfeiafa1'),"<socket._socketobject object at 0x0000000003D2BD48>",0),
(ARP(eioakn iejfoeajoijea),"<socket._socketobject object at 0x0000000003DC8118>",0)
])
def test_mod_arp(test_input1,test_input2,expected):
assert mod_arp(test_input1,test_input2) == expected
說明有關代碼:這是我得到的錯誤代碼。我有適當的功能定義。在第一個測試用例上正常工作。最後兩個測試用例失敗了。
你可以顯示一個導致該錯誤的示例文件嗎? –
這是我的測試代碼http://pastebin.com/BiU4xmcU。你可以看到我給出了三個測試用例。它的第一個測試用例很好。我在休息兩個案例中遇到了上述錯誤。我定義了所有相關的功能。我這樣做是爲了測試我的函數是否能夠正確解析arp數據包,以及它是否能夠處理錯誤的數據包。這就是爲什麼我在前兩個測試用例中試圖給垃圾代替數據包的原因。現在我想pytest至少告訴解析錯誤的數據包失敗,但不會給出這樣的錯誤。 –
基本上我想自己構造數據包,並將其作爲我的函數和測試的輸入。聽說過scapy。但用scapy安裝會導致錯誤。命令提示符只是掛起。 –