我有一个Scheduler
类和一个使用unittest为__generate_potential_weeks
编写的测试
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
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)
相关问题 更多 >
编程相关推荐