在 Python 中将功能代码与单元测试代码混合是一种好的做法吗?



在Python中,执行单元测试变得越来越容易。例如,以下代码:

import unittest
def fun(x):
return x + 1
class MyTest(unittest.TestCase):
def test(self):
self.assertEqual(fun(3), 4)

我这里的问题是关于在 Python 中放置单元测试代码的良好做法是什么。在上面的代码中,单元测试代码和生产功能代码混合在一起,是不是很好的做法?或者我应该将测试代码写在另一个文件中,而不是将它们混合在一起?

从我的角度来看,我更喜欢将功能代码与单元测试混合在一起,因为它使代码维护变得更加容易。

要开始编写测试,您只需创建一个名为 test.py 的文件,该文件将包含您的第一个测试用例。

你会发现,随着你添加越来越多的测试,你的单个文件会变得混乱且难以维护,所以你可以创建一个名为tests/的文件夹,并将测试拆分为多个文件。确保每个文件都以test_开头是一种约定,因此所有测试运行程序都将假定 Python 文件包含要执行的测试。一些非常大的项目根据测试的目的或用法将测试拆分为更多的子目录。

我知道这对于单文件库来说很好,但是当库超出单个文件时,测试通常会移动到它们自己的文件夹中。

相关内容

最新更新