IをアプリケーションにDancer2のスキーマ、mはTest::DBIx::Class::Schema.
を使用して、私のDancer2
アプリスキーマの健全性テストを実行しようと、私はtest.t
を作成し、私のメインのappディレクトリに配置されました( /t
フォルダ内にはありません)。ファイルには、次のようになります。は、テストを設定するには、立ち下がり:: DBIx ::クラス::
#!/usr/bin/perl
use Test::More 'no_plan';
use Test::DBIx::Class::Schema;
use Dancer2::Test app => ['PearlBee'];
use lib 'lib';
use lib::PearlBee::Model::Schema;
use strict;
use warnings;
# the order is important
BEGIN {
use_ok 'Test::DBIx::Class::Schema';
#use_ok 'lib::PearlBee::Model::Schema';
use_ok 'Dancer2::Test', app => 'PearlBee';
use_ok 'lib::PearlBee::Model::Schema';# apps => ['PearlBee'];
#
#use_ok 'DBICx::TestDatabase';
}
#my $schema = DBICx::TestDatabase->new('lib::PearlBee::Model::Schema');
my $schematest = Test::DBIx::Class::Schema->new(
{
# required
dsn => 'dbi:mysql:PearlBee;host=localhost;', # or use schema option
namespace => 'lib::PearlBee::Model::Schema',
moniker => 'user',
# optional
username => 'root',
password => '1',
glue => 'Result',
#test_missing => 1,
}
);
$schematest->methods(
{
columns => [
qw[
id
salt
]
],
resultsets => [
qw[ User
]
],
}
);
$schematest->run_tests();
私は次の出力でクラッシュ:
Can't locate object method "connect" via package "lib::PearlBee::Model::Schema"
はこのうち意味を理解するために私を助けてください。
'$ schematest'の設定でも' namespace => 'lib :: PearlBee :: Model :: Schema'、 '... this' lib :: 'も間違っています。 – dgw