Python 即使函数作为可调用的传递,AssertRaisses也不会捕获异常
当我运行下面的单元测试时,我得到以下输出Python 即使函数作为可调用的传递,AssertRaisses也不会捕获异常,python,python-3.x,Python,Python 3.x,当我运行下面的单元测试时,我得到以下输出 ====================================================================== ERROR: test_find_playlist_file_invalid (__main__.TestSpotifyScraperAPI) ---------------------------------------------------------------------- Traceback (
======================================================================
ERROR: test_find_playlist_file_invalid (__main__.TestSpotifyScraperAPI)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/gareth/Dropbox/programming/python/spotify_ripper/test/SpotifyScraperAPITest.py", line 15, in test_find_playlist_file_invalid
spotify_scraper_api = SpotifyScraperAPI("non_existent_dir")
File "/home/gareth/Dropbox/programming/python/spotify_ripper/SpotifyScraperAPI.py", line 7, in __init__
self.playlist_file = self.find_playlist_file()
File "/home/gareth/Dropbox/programming/python/spotify_ripper/SpotifyScraperAPI.py", line 14, in find_playlist_file
raise OSError("Given playlist folder does not exist")
OSError: Given playlist folder does not exist
__
所以它抛出了正确的错误,但没有被捕获,即使我将函数作为可调用函数传入?我搞砸了什么
提前谢谢 异常来自构造函数。要在unittest中为其断言,您可以使用
assertRaises
作为上下文管理器,并将构造函数移动到上下文管理器主体
class TestSpotifyScraperAPI(unittest.TestCase):
def test_find_playlist_file_invalid(self):
with self.assertRaises(OSError):
SpotifyScraperAPI("non_existent_dir")
异常来自构造函数。要在unittest中为其断言,您可以使用
assertRaises
作为上下文管理器,并将构造函数移动到上下文管理器主体
class TestSpotifyScraperAPI(unittest.TestCase):
def test_find_playlist_file_invalid(self):
with self.assertRaises(OSError):
SpotifyScraperAPI("non_existent_dir")
看看追踪。异常根本不是来自
assertRaises
受保护的行。请查看回溯。异常根本不是来自assertRaises
受保护的行。