Python单元测试,测试用例之前的声明

标签 python unit-testing python-unittest

想象一下我有这样的测试:

import unittest

class MyTests(unittest.TestCase):

  print("Starting")

  def test_first(self):
    .....

是否保证 print 语句在 test_first() 和其他语句之前执行?据我所见,它确实首先执行,但是否存在任何边缘情况?

最佳答案

您可以为此使用 setUp()( docs ) 和 setUpClass()( docs ) 方法。 setUp() 方法在每个单独的测试之前执行,而 setUpClass() 方法在此类中的所有测试运行之前执行。

import unittest

class MyTests(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        print("Starting all the tests.")

    def setUp(self):
        print("Starting another test.")

    def test_first(self):
        ...

关于Python单元测试,测试用例之前的声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32113694/

相关文章:

unit-testing - Visual Studio 2017 : A fatal error has occurred and debugging needs to be terminated

java - 模拟实例触发事件

javascript - Jasmin spy 仅在sied-on函数被包装时才起作用,但在委托(delegate)给时则不起作用

python - Django Rest Framework : How can I patch a serializer for unit testing, 在 serializer_class 属性中使用时?

python - Django Wagtail 项目 - 与 django.contrib.sites 冲突(使用 django-allauth)

python - Pandas:在多索引数据框中设置值

python - Django 中的过滤器值显示奇怪

python - mock.patch 忽略完全导入的函数的原因是什么?

python - 删除 :memory: 中的数据库文件

python - 如何在不截断额外文本的情况下替换文本中的字符串,.seek() 问题?