Методы setup
и teardown
кажутся устаревшими методами для поддержки тестов, написанных для других платформ, например, нос. Нативные pytest
методы называются setup_method
, а также teardown_method
, которые получают в качестве аргумента текущий выполняемый метод тестирования. Следовательно, то, что я хочу достичь, можно записать так:
class TestSomething(object):
def setup_method(self, method):
print "\n%s:%s" % (type(self).__name__, method.__name__)
def teardown_method(self, method):
pass
def test_the_power(self):
assert "foo" != "bar"
def test_something_else(self):
assert True
Выходные данные py.test -s
тогда:
============================= test session starts ==============================
platform linux2 -- Python 2.7.3 -- pytest-2.3.3
plugins: cov
collected 2 items
test_pytest.py
TestSomething:test_the_power
.
TestSomething:test_something_else
.
=========================== 2 passed in 0.03 seconds ===========================
Одна из причин, по которой вы не должны всегда использовать @Configurable
, заключается в том, что это увеличивает накладные расходы: часто требуется гораздо больше времени для запуска приложения и создания новых экземпляров. становится медленнее.
Для @Component
он вам вообще не нужен, потому что обычно все экземпляры управляются Spring.
@Component - это интерфейс маркера Spring, который может дать Spring подсказки, когда дело доходит до автоопределения bean-компонентов.
@Configurable - это маркер, используемый компонентами AOP, определяющими время загрузки. .
На самом деле эти двое не имеют большого отношения друг к другу.