Based on a comment (Re^3: IO::Pty with Cygwin - can't install (by azredwing), in thread IO::Pty with Cygwin - can't install (also by azredwing) it looks like Expect.pm will work even if that particular test in IO::Tty fails.
YMMV, but you could try this and see if it helps:
cpan> notest install IO::Tty
cpan> install Expect
If all goes well, Expect will pass its tests and install. It worked for me (Windows Vista, Cygwin 1.7.9-1.)
There is also a more drastic form of install, "force install IO::Tty", which will run the test but attempts to continue even if there are failures. Since the test hangs, you will have to control-C out of the test so the install will complete.