簡體   English   中英

Python-使用unittest測試類方法

[英]Python - Testing class methods with unittest

我有一個Scheduler類和一個使用unittest__generate_potential_weeks編寫的測試

main.py

class Scheduler:
    def __init__(self, num_teams, num_weeks):
        self.potential_weeks = self.__generate_potential_weeks(num_teams)
        # Other stuff

    def __generate_potential_weeks(self, num_teams):
        # Does some things

test_scheduler.py

import unittest
from main import Scheduler

class SchedulerTestCase(unittest.TestCase):
    def test_generate_weeks(self):
        sch = Scheduler(4, 14)
        weeks = sch.__generate_potential_weeks(4)

當我嘗試測試__generate_potential_weeks ,出現以下錯誤

AttributeError: 'Scheduler' object has no attribute '_SchedulerTestCase__generate_potential_weeks'

問題

  • 為什么測試找不到__generate_potential_weeks
  • 如何測試__generate_potential_weeks 它具有一些復雜的邏輯,我想與Scheduler分開進行測試

雙下划線在python中具有特殊含義。 該名稱將被修改以避免子類中的名稱沖突。

如果這不是您的意圖,我鼓勵您在單個下划線處進行標記。 如果是這樣,您仍然可以使用變形的名稱來訪問該函數。 我認為這對您sch._Scheduler__generate_potential_weeks(4)sch._Scheduler__generate_potential_weeks(4)

暫無
暫無

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

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