代码之家  ›  专栏  ›  技术社区  ›  methodin

phpunit数据提供程序

  •  0
  • methodin  · 技术社区  · 15 年前

    问题是,在数组从数据提供程序返回(如果我回显它)之前,它是正确的值,但是在测试期间,它是空的。在这里,我是否遗漏了一系列我所期望的步骤,或者我必须以不同的方式来完成这些步骤?

    /**
    * @dataProvider testSignupProvider
    */
    public function testSignup($a, $b, $c)
    {
        ...stuff is done with $a,$b,$c
    }
    
    
    public function testSignupProvider()
    {
        $uid = fetchOne(X("SELECT currval('users_id_seq')"));
    
        return array(
            array(false, array(), $error4),
            array(
                'email'=>'stack@overflow.com',
                'password'=>'youaintgonnagetit', 
                $error3
            ),
            array(
                array('id'=>$uid,'email'=>'PHPUNIT@gmail.com','username'=>'Guest'),
                array('email'=>'PHPUNIT@gmail.com','password'=>'youaintgonnagetit'), 
                null
            )
        );
    }
    

    Array
     (
    -    [id] =>
    +    [id] => 2
         [email] => PHPUNIT@gmail.com
         [username] => Guest
     )
    
    1 回复  |  直到 14 年前
        1
  •  0
  •   methodin    15 年前

    我通过将'id'数组元素分配给'@id'来解决这个问题,在函数测试中,我按照当时的顺序拉取当前id。

    推荐文章