У меня есть два файла
spike.py
class T1(object):
def foo(self, afd):
return "foo"
def get_foo(self):
return self.foo(1)
def bar():
return "bar"
test_spike.py:
from unittest import TestCase
import unittest
from mock import patch, MagicMock
from spike import T1, bar
class TestShit(TestCase):
@patch('spike.T1.foo', MagicMock(return_value='patched'))
def test_foo(self):
foo = T1().get_foo()
self.assertEqual('patched', foo)
@patch('spike.bar')
def test_bar(self, mock_obj):
mock_obj.return_value = 'patched'
bar = bar()
self.assertEqual('patched', bar)
if __name__ == "__main__":
unittest.main()
когда я запустил python test_spike.py
, первый тестовый пример пройдет, но второй завершится ошибкой.
и я переключаюсь на использование nosetests test_spike.py
, тогда оба двоих не работают.
Я не понимаю, как это произошло? Эти случаи должны проходить все.