[英]Python: Modify SetUp based on TestCase in unittest.TestCase
我希望每個testCase在加載設置函數時都應聲明不同的“x”值。 有沒有辦法在setUp函數中實現。 示例代碼如下所述。 如何更改下面的setUp函數中的PSEUDO CODE ?
import random
import unittest
class TestSequenceFunctions(unittest.TestCase):
def setUp(self):
# ***PSEUDO CODE***
x = 10 # if test_shuffle uses setUp()
x = 20 # if test_choice uses setUp()
x = 30 # if test_sample uses setUp()
# ***PSEUDO CODE***
def test_shuffle(self):
#test_shuffle
def test_choice(self):
#test_choice
def test_sample(self):
#test_choice
if __name__ == '__main__':
unittest.main()
我可以通過在不同的文件中編寫每個測試用例來實現,但是我會大幅增加文件數量。
也許我錯過了這一點,但偽代碼中的賦值可能只是移動到相應測試的開頭。 如果“賦值”更復雜,或跨越多個測試,那么只需在測試用例之外但在文件內部創建函數,相應的測試會調用任何函數應該是它們的“setUp”的一部分。
一個單元測試文件主題捕獲所有涵蓋類似功能的測試。 該設置用於將該功能置於可測試狀態。
將X的分配移動到實際的測試方法中(如果您希望每個測試實際上都有X,則在設置中保持X = 0)。 在閱讀測試時,它會更清楚地顯示正在發生的事情以及測試方式。 您不應該有影響測試在設置函數中工作方式的條件邏輯,因為您在測試的前提條件中引入了復雜性,這意味着您有更大的表面區域來表示錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.