Léon Brocard > Test-Expect > Test::Expect

Download:
Test-Expect-0.31.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  3
Open  0
View/Report Bugs
Module Version: 0.31   Source  

NAME ^

Test::Expect - Automated driving and testing of terminal-based programs

SYNOPSIS ^

  # in a t/*.t file:
  use Test::Expect;
  use Test::More tests => 13;
  expect_run(
    command => "perl testme.pl",
    prompt  => 'testme: ',
    quit    => 'quit',
  );
  expect("ping", "pong", "expect");
  expect_send("ping", "expect_send");
  expect_is("* Hi there, to testme", "expect_is");
  expect_like(qr/Hi there, to testme/, "expect_like");

DESCRIPTION ^

Test::Expect is a module for automated driving and testing of terminal-based programs. It is handy for testing interactive programs which have a prompt, and is based on the same concepts as the Tcl Expect tool. As in Expect::Simple, the Expect object is made available for tweaking.

Test::Expect is intended for use in a test script.

SUBROUTINES ^

expect_run

The expect_run subroutine sets up Test::Expect. You must pass in the interactive program to run, what the prompt of the program is, and which command quits the program:

  expect_run(
    command => "perl testme.pl",
    prompt  => 'testme: ',
    quit    => 'quit',
  );

expect

The expect subroutine is the catch all subroutine. You pass in the command, the expected output of the subroutine and an optional comment.

  expect("ping", "pong", "expect");

expect_send

The expect_send subroutine sends a command to the program. You pass in the command and an optional comment.

  expect_send("ping", "expect_send");

expect_is

The expect_is subroutine tests the output of the program like Test::More's is. It has an optional comment:

  expect_is("* Hi there, to testme", "expect_is");

expect_like

The expect_like subroutine tests the output of the program like Test::More's like. It has an optional comment:

  expect_like(qr/Hi there, to testme/, "expect_like");

expect_handle

This returns the Expect object.

expect_quit ^

Closes the Expect handle.

SEE ALSO ^

Expect, Expect::Simple.

AUTHOR ^

Leon Brocard, <acme@astray.com>

COPYRIGHT ^

Copyright (C) 2005, Leon Brocard

This module is free software; you can redistribute it or modify it under the same terms as Perl itself.

syntax highlighting: