簡體   English   中英

Python:在unittest.TestCase中基於TestCase修改SetUp

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM