python单元测试练习

本文介绍了如何在Pycharm专业版中进行生命游戏的单元测试。提供了包含main.py、life_game.py等四个Python文件,用于实现并测试生命游戏的逻辑。测试重点在于game_map.py中的接口,要求编写测试用例并确保代码覆盖率。按照文章给出的步骤,可以在Pycharm中创建并运行测试,但需要注意assertRaises()方法的使用对测试覆盖率的影响。
摘要由CSDN通过智能技术生成

IDE:Pycharm Professional

生命游戏单元测试:

生命游戏是英国数学家约翰·何顿·康威在1970年发明的细胞自动机,它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死亡的细胞。一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死了的细胞的数量。如果相邻方格活着的细胞数量过多,这个细胞会因为资源匮乏而在下一个时刻死去;相反,如果周围活细胞过少,这个细胞会因太孤单而死去。

游戏在一个类似于围棋棋盘一样的,可以无限延伸的二维方格网中进行(在程序实现中,我们采取令左右边界相接、上下边界相接的方法模拟无限棋盘的情况)。例如,设想每个方格中都可放置一个生命细胞,生命细胞只有两种状态:“生”或“死”。图中,用黑色的方格表示该细胞为“死”, 其它颜色表示该细胞为“生” 。游戏开始时, 每个细胞可以随机地(或给定地)被设定为“生”或“死”之一的某个状态, 然后,再根据如下生存定律计算下一代每个细胞的状态:

  1. 每个细胞的状态由该细胞及周围8个细胞上一次的状态所决定;
  2. 如果一个细胞周围有3个细胞为生,则该细胞为生,即该细胞若原先为死则转为生,若原先为生则保持不变;
  3. 如果一个细胞周围有2个细胞为生,则该细胞的生死状态保持不变;
  4. 在其它情况下,该细胞为死,即该细胞若原先为生则转为死,若原先为死则保持不变。

这里提供四个python文件(下载),分别是main.py、life_game.py、game_timer.py、game_map.py,它可以正确地实现生命游戏的功能(棋盘的左右、上下是相连的),通过python main.py即可启动。本次作业要求针对game_map.py中的接口编写测试用例,测试文件需要命名为test_game_map.py。

说明:在测试正确的前提下,本次作业将根据代码覆盖率进行评分。


使用pycharm进行单元测试的步骤

  • 打开要测试的文件
  • 菜单Navigate–>test
    这里写图片描述
  • 点击创建一个Test
    这里写图片描述
  • 勾选要测试的方法,确定
    这里写图片描述
  • 编写测试代码
from itertools import chain
from itertools import cycle
from unittest import TestCase
from unittest import mock
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值