使用pycharm进行单元测试

在进行代码的测试的时候,单元测试无疑是一种非常高效的测试方法,今天就来分享一下我学到的使用pycharm进行单元测试的方法,在这里我也会举一个简单的例子仅供参考。

编写的测试函数

这是我简单编写的一个需要测试的实现简单加法的函数

def add_test:
    a = int(input("请输入第一个数:"))
    b = int(input("请输入第二个数:"))
    return (a+b)

创建单元测试文件

在目标文件夹新建Python File

python 单元测试mock pycharm单元测试教程_Python


然后选择Python unit test,并且在输入栏输入文件名

python 单元测试mock pycharm单元测试教程_单元测试_02


这是生成后的初始界面

python 单元测试mock pycharm单元测试教程_单元测试_03

编写单元测试函数

import unittest

from addtest import add_test

class MyTestCase(unittest.TestCase):
    def test_something(self):
        self.assertEqual(add_test(),12)
    
if __name__ == '__main__':
    unittest.main()

在这里assertEqual()函数我是这样使用的,第一个参数是我得到的结果,第二个参数是我预期的结果

运行单元测试文件代码

我的预期结果是12,我输入3和9

python 单元测试mock pycharm单元测试教程_python 单元测试mock_04


在这里我们看到运行结果下面显示OK,则说明单元测试正确

python 单元测试mock pycharm单元测试教程_Python_05


如果我输入7和8,则会出现报错的情况

python 单元测试mock pycharm单元测试教程_python 单元测试mock_06


当然,也可以像这样编写多组测试函数,这样可以测试多组测试数据,很大程度上提高代码的测试效率

import unittest

from addtest import add_test

class MyTestCase(unittest.TestCase):
    def test_something0(self):
        self.assertEqual(add_test(),12)
    def test_something1(self):
        self.assertEqual(add_test(),10)
    def test_something2(self):
        self.assertEqual(add_test(),58)
    def test_something3(self):
        self.assertEqual(add_test(),43)

if __name__ == '__main__':
    unittest.main()

操作步骤和上面提到的一样,运行结果也是一样。需要注意的是,多组测试的时候,每次输入数据时需要注意测试函数是否对应,这里测试的为test_something0()这个函数

python 单元测试mock pycharm单元测试教程_python 单元测试mock_07


在多则测试结束后,如果全部正确则显示OK,若有错误,则会在相应的函数位置报错

运行全部正确的结果如下

python 单元测试mock pycharm单元测试教程_单元测试_08


运行有错误的结果为以下界面

python 单元测试mock pycharm单元测试教程_python_09