2013-04-16 3 views
2

mysql의 데이터에 액세스하기 위해 EasyDBI session을 사용하는 코드에 대한 테스트를 작성하는 데 유용한 아이디어 나 기술을 찾고 있습니다. 나는 EasyDBI session이 테스트되고 있다는 것을 알고 싶지 않기 때문에 DSN 같은 것을 조롱하는 방법을 찾고 싶었습니다. 하지만, 어떻게 할 수 있을지는 분명치 않습니다.POE EasyDBI에 대한 테스트는 어떻게 작성합니까?

누구나 전에이 문제를 해결 했습니까?

답변

0

Test::Database::Tutorial/Test::Database 아마도 이것이 필요한 것입니다. 또는 __DATA__에서 테스트 데이터베이스를 만듭니다. :cache:

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" ], 
);