一、选择开发语言
考虑到python语言相对比较简单易懂,并且想通过这次机会更好的学习一门语言,所以经过小组成员的集中讨论,我们决定使用python语言进行开发,所以本次我选择的开发工具是PyCharm。下面是PyCharm的打开界面。 |
二、单元测试
Python标准库中的模块unittest 提供了代码测试工具,所以可以直接进行测试。unittest模块是Python的单元测试框架,支持自动化测试,所有用例共享setUp和tearDown代码,可以将测试用例聚合成测试集合,测试用例与报告框架独立。 为了实现这些功能,unittest支持下面几个面向对象式的概念: test fixture:代表了执行一个或多个测试用例所需要的准备工作,以及所有相关的清除工作。比如创建临时的或者代理的数据库,文件夹或者启动服务器。包括本次测试中所用到的 setUp和 tearDown test case: 代表了一个单独的单元测试用例,会检查输入参数对应的反馈。unittest提供了一个基类TestCase用来创建测试用例。 test suite: 代表了测试用例及测试套件的集合,用来将测试用例聚合到一起去执行。 test runner: 用来执行测试用例并将测试结果反馈给用户。可以用图形接口,文字接口或者返回一些指定值来指示测试结果。 test report: 可以使用unittest自带的TextTestRunner(),也可以使用HTMLTestRunner()产生HTML格式的测试报告,现在用 BSTestRunner()代替 HTMLTestRunner() |
三、实际测试
1.定义一个包含减法的函数sub |
def sub(a, b):
return a-b
2.写一个测试文件test_subb.py,代码如下 |
import unittest
from subb import *
class TestSubb(unittest.TestCase):
def setUp(self):
print("do something before test.Prepare environment.")
def tearDown(self):
print( "do something after test.Clean up.")
def test_sub(self):
self.assertEqual(1, sub(3, 2))
if __name__ == '__main__':
print()
unittest.main()
3. (1)通过测试结果图 |
(2)将self.assertEqual(1, sub(3, 2))改成self.assertEqual(3, sub(3, 2))减法结果不正确,则应该显示测试不通过,结果图如下 |
四、总结
在完成本次作业的过程中遇到了许多问题,比如刚开始运行PyCharm时,找不到运行环境,后来重新下载python环境后就可以运行了,这种问题出现了很多,但通过同学的帮助和上网查询资料,最终都能够解决。通过本次作业,我更加熟练了PyCharm开发工具的运用,也通过学习和了解了python语言的最基本编程,总的来说收获很多。 |