http://www.perlmonks.org?node_id=11117536


in reply to Running an editor in a test with "prove" command

Tests that require an interactive TTY don't mix well with non-interactive test environments; consider for example what would happen if this test were to be run on CPAN Testers. An alternative to the below is to use something like prompt from ExtUtils::MakeMaker, which can be forced to use defaults if run non-interactively.

use warnings; use strict; use Test::More; use Proc::InvokeEditor; use IO::Interactive qw/is_interactive/; SKIP: { skip "running non-interactively", 1 unless is_interactive; my $edited_text = Proc::InvokeEditor->edit('edit me'); is $edited_text, "edit you\n", 'can edit text'; } done_testing;