In
this node,
dragonchild explains how he's going to build a text-based adventure game in several languages, and wonders how to test his code.
pbeckingham recommends
testing at the user interface with
Expect.
adrianh recommends
writing a common api for each implementation and script the testing through the API.
andyf adds a recommendation to
write a state-dumping function.
sgifford recommends
controlling the testing with a 2-way pipe in and out of the game.
BrowserUK suggests
a simple but multidisciplinary approach with a simple script recorder controlled through
Test::More.
That is already a lot of interfaces to test a simple command-line program, and we didn't even hear from the Haskell program-by-contract camp (who talk about testable interfaces a lot) or the FIT alternate-UI camp (who are trying to figure out how to do agile user testing).
So:
Is there a best way to build an interface for testing?
Are there contexts in which one test interface is better than another?