attest
attest copied to clipboard
Named context arguments
Perhaps keyword arguments would be better than positional arguments. That is: have contexts yield dictionaries, and pass by key name rather than position. This might not be backwards-compatible without some switch.
@web.context
def appcontext():
yield dict(app=app, templates=templates)
@web.test
def index(templates):
assert len(templates) == 1
Currently the above would treat the dict as a single, positional argument. If we had yielded a two-tuple, the test would receive the app as 'templates'. The benefit of this idea is that we can easily "skip" arguments. Downsides would be the need to name argument and the possibility of name conflicts (however unlikely).