1

ここを見てくれてありがとう。私はプロジェクトに参加し始めており、私が書いたコードのテストを作成する必要があります。私はテストの経験があまりありません。

私はこのファイルを書きました: tests/fixtures/visitante_boletin.yml

1:
    id_localizacion: 60
    email: emailconfirmado@server.net
    estado_confirmacion: 1
    fecha_creacion: 2013-02-03 12:01:49
    fecha_confirmacion: 2013-02-03 12:01:49
    fecha_cancelacion: 
    token: 343fbb5f15709935470ba3b7524068af8544776d924b0bd45c2558a7eb5c8082f0bef31402b773fa

そしてこのテスト: tests/libraries/com/arteinformado/service/front/SubscribeServiceTest.php ...

    const SINCONFIRMAR = 0;
    const CONFIRMADO = 1;
    const CANCELADO = 2;
...
    public function testShouldGetAllSuscriptionsWithStateCONFIRMADO() {
        $suscriptors = $this->_suscribeService->getAllSuscriptionsWithState(self::CONFIRMADO);
        $this->assertNotEmpty($suscriptors);
        $this->assertEquals(1, count($suscriptors));
    } 
...

テストを実行すると、assertNotEmpty でエラーが発生します。そのため、フィクスチャ データがロードされているのか、何が起こっているのかわかりません。テストしているメソッドは非常に単純で問題ないはずだからです。

public function getAllSuscriptionsWithState($estado_confirmacion) {
    $suscriptors = array();

    $query = $this->db->get_where('visitante_boletin', array('estado_confirmacion' => $estado_confirmacion));
    foreach ($query->result() as $row) {
        $suscriptor = $this->_dbRowToVisitanteBoletin($row);
        array_push($suscriptors, $suscriptor);
    }

    return $suscriptors;

}

どんなヘルプガイドも本当に感謝しています。

前もって感謝します。乾杯、 ・_-

4

1 に答える 1

0

PHPUnit ドキュメントはあなたの味方です。

あなたはそれについて言及していませんでしたが、あなたは:

  • DbUnit 拡張機能をインストールしました
  • テストクラスに PHPUnit_Extensions_Database_TestCase を拡張させます
  • テストクラスに getConnection() および getDataSet() メソッドを提供

それは間違いなく私のために働いています。

于 2013-02-04T20:57:51.957 に答える