假設我們有以下簡單的檔案結構:
- some_file.py
- tests.py
該檔案some_file.py
應該包含函式foo
,但我如何確認使用unittest
框架?
我可以看到在里面做這樣的事情tests.py
:
try:
from some_file import foo
except ImportError as error:
print('Error! Could not find foo.)
...但我很好奇是否有辦法用斷言而不是 try-except 塊來做到這一點。
這個問題對于測驗模塊本身的匯入非常全面,但我實際上并沒有看到檔案中的任何函式,除非我忽略了一些東西。
uj5u.com熱心網友回復:
您可以使用幾種方法:
- 只需匯入函式而不使用 try-except。如果它沒有引發例外,則視為通過測驗。但是,如果確實如此,則將其視為錯誤而不是失敗。
- 將 import from 更改為
from some_file import foo
toimport some_file
并添加一個 assertionassertTrue(hasattr(some_file, 'foo'))
。這樣做的好處是,您現在正在明確測驗foo
存在的東西,some_file
而不是您可以匯入的東西some_file
。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/470373.html
下一篇:如何修復RSpec中的任務測驗?