2

EasyDBI sessionのデータにアクセスするためにを使用するコードに対してテストを作成するためのアイデアやテクニックを探していますmysql。テストされていることを に認識させたくないので、EasyDBI sessiona またはそのようなものをモックする方法を見つけたいと思ってDSNいました。しかし、どうすればそれができるかは私には明らかではありません。

以前にこの問題を解決した/解決した人はいますか?

4

2 に答える 2

2

最終的に DBD:Mock を使用しましたが、これは非常に優れています。簡単な dbi コンポーネントをセットアップしたとき、DBD:Mock: を dsn として使用しました。次に、オプションで、返したい結果セットを渡しました。

my @result_set = (list of stuff);

my $eDBI = POE::Component::EasyDBI->spawn(
    alias               => 'eDBI',
    dsn                 => "DBI:Mock:",
    username            => "",
    password            => "",
    options             => { 
        AutoCommit => 0, 
        mock_add_resultset => \@result_set,
    },
    no_connect_failures => 1,
    reconnect_wait      => 2,
    max_retries   => 5,
    connect_error => [ $alias, "dbi_failure", 5 ],
    connected => [ $alias, "dbi_connected" ],
);
于 2013-04-17T17:25:05.113 に答える