我在一個(gè)文件夾中有兩個(gè) python 單元測(cè)試文件test/folder1/test_file1.pytest/folder2/test_file2.py當(dāng)我單獨(dú)運(yùn)行測(cè)試時(shí),它們通過了,但是當(dāng)我在目錄級(jí)別運(yùn)行時(shí),第一個(gè)測(cè)試文件通過但第二個(gè)測(cè)試文件失敗。為什么會(huì)發(fā)生這種情況??jī)蓚€(gè)測(cè)試文件都導(dǎo)入了一些相同的模塊。一個(gè)文件使用 MagicMock,另一個(gè)文件不使用Pass commandspython3 -m pytest test/folder1/test_file1.pypython3 -m pytest test/folder1/test_file2.pyFail commandpython3 -m pytest test/folder1/在 test_file1 中導(dǎo)入命令import osimport shutilimport tempfileimport xlrdfrom unittest import TestCasefrom example.folder1 import module1from example.folder4 import module4在 test_file2 中導(dǎo)入命令import xlrdfrom unittest import TestCasefrom unittest.mock import MagicMockfrom example.folder1 import module1 (same as test_file1)from example.folder2 import module2from example.folder3 import module3import pkg_resources
1 回答

呼啦一陣風(fēng)
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊
發(fā)現(xiàn)問題。
我們使用的是本地 CACHE 變量。第一個(gè)測(cè)試是設(shè)置緩存,第二個(gè)測(cè)試最終使用了第一個(gè)測(cè)試的緩存。
在運(yùn)行第二個(gè)測(cè)試之前清除 setupClass() 中的緩存解決了這個(gè)問題
添加回答
舉報(bào)
0/150
提交
取消