我目前正在学习一门python课程,我是编程新手。我已经编写了下面的代码,并想编写一个代码来测试ResilientPlayer是否真的做了它应该做的事情。这个代码来自一个跳槽和梯子的棋盘游戏,其中ResilientPlayer是一个“特殊”类型的玩家,在下一步从跳槽上摔下来后获得一个“超级力量”。下一轮他从降落伞上摔下来后,他会在骰子上加上一个给定的或默认的数字,我想测试我的代码是否真的做到了这一点!希望有人能帮我解决这个问题:)
class Player:
def __init__(self, board):
self.board = board
self.position = 0
self.n_steps = 0
def move(self):
die_roll = random.randint(1, 6)
self.position = self.get_position() + die_roll
self.board.position_adjustment(self.position)
self.n_steps += 1
def get_position(self):
return self.position
def get_steps(self):
return self.n_steps
class ResilientPlayer(Player):
default_extra_steps = 1
def __init__(self, board, extra_steps=None):
super().__init__(board)
self.extra_steps = extra_steps
if self.extra_steps is None:
self.extra_steps = self.default_extra_steps
def move(self):
if self.get_position() in self.board.chutes.values():
die_roll = random.randint(1, 6)
self.position = self.get_position() + die_roll + self.extra_steps
self.board.position_adjustment(self.position)
self.n_steps += 1
else:
super().move()
def get_position(self):
return self.position
def get_steps(self):
return self.n_steps
最好的方法是使用unittest类,我按以下方式执行:
在这里,
unittest.main()
将运行文件中的所有测试。setUp
在每个测试之前运行(因此可以有多个具有相同启动条件的测试)。你知道吗这是一个非常有用的模块,我强烈建议阅读更多关于它的内容,请查看the documentation
相关问题 更多 >
编程相关推荐