欢迎来到王雅婷的博客

jQuery火箭图标返回顶部代码 - 站长素材

软件工程第二次作业

一、选择开发语言

考虑到python语言相对比较简单易懂,并且想通过这次机会更好的学习一门语言,所以经过小组成员的集中讨论,我们决定使用python语言进行开发,所以本次我选择的开发工具是PyCharm。下面是PyCharm的打开界面。
![](https://img2018.cnblogs.com/blog/1648396/201904/1648396-20190413150832603-103993833.png)

二、单元测试

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)通过测试结果图
![](https://img2018.cnblogs.com/blog/1648396/201904/1648396-20190413153908965-1751412636.png)
(2)将self.assertEqual(1, sub(3, 2))改成self.assertEqual(3, sub(3, 2))减法结果不正确,则应该显示测试不通过,结果图如下
![](https://img2018.cnblogs.com/blog/1648396/201904/1648396-20190413153934058-711414013.png)

四、总结

在完成本次作业的过程中遇到了许多问题,比如刚开始运行PyCharm时,找不到运行环境,后来重新下载python环境后就可以运行了,这种问题出现了很多,但通过同学的帮助和上网查询资料,最终都能够解决。通过本次作业,我更加熟练了PyCharm开发工具的运用,也通过学习和了解了python语言的最基本编程,总的来说收获很多。
posted @ 2019-04-13 14:23  王雅婷  阅读(196)  评论(0编辑  收藏  举报