擅长:python、mysql、java
<p>好吧,好吧,如果<code>a_dependency</code>真的是固定不变的,为什么不能两全其美呢?装饰器毕竟只是语法上的甜点。在</p>
<pre><code>def a_dependency():
# returns a context manager
a_dependency_fixture = yield_fixture(a_dependency)
@yield_fixture
def a_fixture():
# here use a_dependency as a regular function
with a_dependency() as dependency:
do_setup_work()
yield
do_teardown_work()
def test_foo(a_dependency_fixture):
# here use a_dependency as a fixture
pass
</code></pre>
<p>我没有检查这是否真的有效,因为问题中的信息太笼统了,我无法做出一个有效的案例。如果你能提供更多的细节,那么给出一个更有用的答案可能会更容易。在</p>