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

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


import unittest


def fun(x):

    return x + 1


class MyTest(unittest.TestCase):

    def test(self):

        self.assertEqual(fun(3), 4)

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


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


一只萌萌小番薯
浏览 132回答 2
2回答

子衿沉夜

要开始编写测试,您可以简单地创建一个名为 test.py 的文件,其中将包含您的第一个测试用例。您会发现,随着您添加越来越多的测试,您的单个文件会变得杂乱且难以维护,因此您可以创建一个名为 tests/ 的文件夹并将测试拆分为多个文件。确保每个文件都以 test_ 开头是一种约定,因此所有测试运行程序都会假定 Python 文件包含要执行的测试。一些非常大的项目根据它们的目的或用途将测试分成更多的子目录。

一只斗牛犬

我知道这对于单文件库来说很好,但是当库超出单个文件时,测试通常会移动到它们自己的文件夹中。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python