簡體   English   中英

我該如何處理這個 python 測試?

[英]How do I approach this python test?

我在 class 中有一個 function ,它調用其他函數並執行一些操作,直到它獲得兩個變量AB

Class NumberLogic:
    def compare():
    #do stuff_
    A=#do stuff__
    B=#do stuff___
    if A<B:
        return 1
    else:
        return 2

我想測試這個 function compare() 但直接從 A 和 B 給出值,所以只測試 if 條件,我不確定這是否可行並且代碼的 rest 可以被模擬,所以當我調用類似

assert 1 == NumberLogic.compare()

你可以像這樣重寫你的代碼:

Class NumberLogic:
    def compare(self):
        A = self._get_A()
        B = self._get_B()
        return self._compare(A, B)

    def _get_A(self):
        # do stuff
        return A

    def _get_B(self):
        # do stuff
        return B

    def _compare(self, A, B):
        if A<B:
            return 1
        else:
            return 2

這樣,您可以編寫代碼以僅檢查_compare

注意:使用下划線開始 function 表示它是僅由 function 本身使用的內部方法。

你也可以寫:

def _compare(self, A, B):
    if A<B:
        return 1
    return 2

這是同一件事

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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