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


in reply to Re^2: Test::More command-line arguments?
in thread Test::More command-line arguments?

prove does not pass on arguments to the test files. prove assumes that you're trying to run test cases called "one", "two" and "three".

If you need to provide arguments to a test file, you need to run it with perl, not prove:

$ perl t.t one two three

If you really want to use prove then perhaps modify your test file to read its options from environment variables instead.

perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

Replies are listed 'Best First'.
Re^4: Test::More command-line arguments?
by Anonymous Monk on Sep 25, 2012 at 00:30 UTC

    | If you really want to use prove then perhaps modify your test file to read its options from environment variables instead.

    Bummer.

    Thanks, I may have to resort to this method. I appreciate the time both of you spent is drawing out the fundamental problem.

      Well, your tests shouldn't need arguments :)

      If you need to database connection details, traditional solution is to either use env vars ( along the lines of TEST_MYSQL_USER TEST_MYSQL_PASS ... or TEST_MYSQL_DSN )

      Of via distribution config file , which your tests know how to read