Настраивающийся по сравнению с компонентом с Spring и AspectJ

Методы 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 ===========================
11
задан cb4 22 November 2016 в 17:02
поделиться

2 ответа

Одна из причин, по которой вы не должны всегда использовать @Configurable , заключается в том, что это увеличивает накладные расходы: часто требуется гораздо больше времени для запуска приложения и создания новых экземпляров. становится медленнее.

Для @Component он вам вообще не нужен, потому что обычно все экземпляры управляются Spring.

1
ответ дан 3 December 2019 в 05:59
поделиться

@Component - это интерфейс маркера Spring, который может дать Spring подсказки, когда дело доходит до автоопределения bean-компонентов.

@Configurable - это маркер, используемый компонентами AOP, определяющими время загрузки. .

На самом деле эти двое не имеют большого отношения друг к другу.

12
ответ дан 3 December 2019 в 05:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: