Я хочу сделать несколько тестов на моих модулях.
К сожалению, некоторые функции в этих модулях используют жестко закодированные файлы конфигурации.
package My::Module;
use strict;
use warnings;
use Readonly;
Readonly my $CONF_FILE => '/my/conf_file.xml';
=head1 FUNCTIONS
=head2 Info($appli)
Returns Application Information
=cut
sub Info
{
my $appli = shift;
my $conf = MyXML::Read($CONF_FILE);
foreach my $a (ARRAY($conf->{application}))
{
return ($a) if ($a->{name} eq $appli);
}
return (undef);
}
[some others functions that use this config file...]
Решение, которое мне пришло в голову, заключается в создании новой функции в каждом модуле, которая будет изменять этот файл конфигурации по умолчанию, когда мне это нужно.
Тогда я буду использовать эту функцию в своих тестах ...
У вас есть другие (лучшие?) Идеи?