我可以在Python单元测试中对测试方法和/或测试类进行分组吗

One*_*ema 5 python phpunit unit-testing python-unittest

来自PHPUnit,使用@group批注对测试类或函数进行分组很容易。这样,我可以运行或排除非常特殊的测试子集,可能跨多个文件。

我想知道python unittest是否有类似的东西。如果是这种情况,我该如何使用它并从CLI运行它?

谢谢。

sha*_*ari 6

通过将一组测试函数全部放在一个类中,可以运行它们。假设您的单元测试中有 4 个测试函数,并且您希望有两组,每组 2 个函数。您需要创建一个包含两个类的tests.py脚本,每个类都有2个函数:

from unittest import TestCase
class testClass1(TestCase):
   def testFunction1(self):
      #test something
   def testFunction2(self):
      #test something
class testClass2(TestCase):
   def testFunction3(self):
      #test something
   def testFunction4(self):
      #test something
Run Code Online (Sandbox Code Playgroud)

然后,要从命令行仅在类 1 上运行单元测试,您可以运行

python -m unittest tests.testClass1
Run Code Online (Sandbox Code Playgroud)