Unittest Python, когда проверять равенство значений или объектов

У меня есть следующий код, который я тестирую.

main.py

      import helpers

def do_something(some_arg):
    ...
    return helpers.help_do_something(some_arg)

test_main.py

      import unittest
from unittest import mock

class TestDoSomething(unittest.Testcase):
    @mock.patch('path.to.patch')
    def setUp(self, *_):
        import main
        self.main = main

    @mock.patch('main.helpers')
    def test_0_1(self, helpers_mock):
        ret = self.main.do_something('test_arg')
        self.assertIs(ret, helpers_mock.help_do_something.return_value)

Когда я тестирую возвращаемое значениеdo_somethingмой инстинкт подсказывает мне, что сравнение должно утверждать равенство объектов, а не равенство ценностей. Правильно ли я думаю об этом? Мне трудно сформулировать, почему это должно быть так.

В более общем смысле, когда мы должны тестировать равенство объектов по сравнению с равенством значений в модульном тестировании?

0 ответов

Другие вопросы по тегам