1

環境を変更して、sqlite をドライバーとして basespec でテストし、メモリに保存します。

function it_should_validate()
    {
        // Create the user
        $data = array('email' => 'test@gmail.com', 'password' => 'password', 'remember' => false);

        $this->validate($data)->shouldBe(true);
    }

テストを実行するたびに、テスト データベースに情報を挿入するにはどうすればよいですか? 現在、テストは常に false を返すため失敗します。

4

1 に答える 1

1

あなたがやろうとしているのは統合テストです。

PhpSpec は単体テスト用のツールです。分離してテストすることに重点を置いています。つまり、作成されるオブジェクトはテスト対象のオブジェクトだけです。その依存関係はすべてスタブ化またはモック化する必要があります。

言い換えれば、あなたが書く仕様にデータベースが関与してはいけません。

仕様を作成しようとしているクラスの完全な例を示していないため、仕様がどのように見えるべきかをアドバイスするのは困難です。

推奨読書:

于 2014-09-08T16:27:37.683 に答える