On 10 March 2014 15:59, Steven D'Aprano <steve+comp.lang.pyt...@pearwood.info> wrote: > Does anyone have any good hints for testing interactive code that uses > raw_input, or input in Python 3? > > A simple technique would be to factor out the interactive part, e.g. like > this: > > # Before > def spam(): > answer = raw_input(prompt) > return eggs(answer) + cheese(answer) + toast(answer) > > # After > def spam(): > answer = raw_input(prompt) > return func(answer) > > def func(s): > return eggs(s) + cheese(s) + toast(s) > > > > and then test func. But how about times where it is inconvenient to > factor out the raw_input stuff out of the function? E.g. suppose you have > a function that takes some arguments, gathers some more values > interactively, processes the lot, and then returns a result. With an > automated test, I can provide the arguments, and check the result, but > what are my options for *automatically* supplying input to raw_input?
Use a subprocess? Oscar -- https://mail.python.org/mailman/listinfo/python-list