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/Sus​​cribeServiceTest.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 回答