Usually in order to avoid tuples
and beautify your code, you can join them back together to one unit as a class, which has been done for you, using collections.namedtuple
:
import collections
EventListener = collections.namedtuple('EventListener', 'event listener')
Now modify your fixture:
@pytest.fixture
def event_listener():
e = EventListener(EventEmitter(), Listener())
e.event.subscribe({'event' : [e.listener.operation]})
return e
Now modify your test:
def test_emitter(event_listener):
event_listener.event.emit('event')
assert event_listener.listener.result == 7