0
我目前使用的鼻子進行一些測試,並使用與鼻+的xUnit輸出發電機,當你需要設置當前功能的__name__
屬性適當地控制在該測試的名稱xunit輸出(例如參見here)。的Python - 更新當前功能__name__屬性編程
因爲我不想硬編碼函數的名稱,每次是這樣的:
def my_function():
for foo in bar:
fn = lambda: some_generated_test(foo)
fn.description = foo.get('name')
my_function.__name__ = foo.get('name')
yield fn
我如何編程引用功能,並設置__name__
?
我曾試圖與sys._getframe()
其收益率約爲當前函數(名稱等),我試圖與setattr(*something*, "__name__", some_test_name)
使用各種屬性,但我不能似乎摸出sys._getframe()
引用哪個部分沒有工作功能。
爲什麼不只是'def some_test_name():'? – user2357112
在函數之外做這件事,或者寫這樣做的裝飾器。 – YOU
另外我認爲inspect模塊可以幫助你獲取函數的名字。 – YOU