PHPUnit@dependens注释不';行不通

PHPUnit@dependens注释不';行不通,php,yii2,phpunit,Php,Yii2,Phpunit,当我用@depends(在Yii2中)编写phpunit测试用例时,将跳过这个带有@depends的测试用例。似乎找不到要依赖的函数。 代码如下: 测试用例代码: 运行测试后的控制台消息: 有人能帮忙吗?测试只能依赖于其他测试。 pull不是测试,因为它没有testPrefix 但你真正想用的是 测试只能依赖于其他测试。 pull不是测试,因为它没有testPrefix 但你真正想用的是 我发现我必须运行整个测试类GoodsServiceTest,而不仅仅是测试方法testPush。同时,我必须

当我用@depends(在Yii2中)编写phpunit测试用例时,将跳过这个带有@depends的测试用例。似乎找不到要依赖的函数。 代码如下:

测试用例代码: 运行测试后的控制台消息:
有人能帮忙吗?

测试只能依赖于其他测试。
pull
不是测试,因为它没有testPrefix

但你真正想用的是


测试只能依赖于其他测试。
pull
不是测试,因为它没有testPrefix

但你真正想用的是


我发现我必须运行整个测试类
GoodsServiceTest
,而不仅仅是测试方法
testPush
。同时,我必须在
testPush
之前确认
testPull
编写。 希望这个答案能帮助别人

class GoodsServiceTest extends \PHPUnit_Framework_TestCase
{
    private $service;

    public function testPull(){
          return [1,2];
    }


    /**
     * @depends pull
     */
    public function testPush($stack){
        $this->assertEquals([1,2],$stack);
    }

}

我发现我必须运行整个测试类
GoodsServiceTest
,而不仅仅是测试方法
testPush
。同时,我必须在
testPush
之前确认
testPull
编写。 希望这个答案能帮助别人

class GoodsServiceTest extends \PHPUnit_Framework_TestCase
{
    private $service;

    public function testPull(){
          return [1,2];
    }


    /**
     * @depends pull
     */
    public function testPush($stack){
        $this->assertEquals([1,2],$stack);
    }

}

pull
是否需要一个通过的断言?当
testPush
取决于
push
时,
push
在执行
testPush
之前,它本身需要成功,然后才能将映像替换为代码并error@masterFly我想是的,但我不知道为什么。有没有可能
push
找不到?我不这么认为。但我认为,在这种情况下,您需要的是在之前。因此,您可以为
push
使用
private
功能,并在testPush之前为
push
功能添加
@注释。因此,它将在
testPush
执行之前执行。实际上,我只是尝试使用@depends,但它无法正常工作。我花了很多时间在它上面,这让我觉得很无聊。
pull
是否需要一个通过的断言?当
testPush
取决于
push
时,
push
在执行
testPush
之前,它本身需要成功,然后才能将映像替换为代码并error@masterFly我想是的,但我不知道为什么。有没有可能
push
找不到?我不这么认为。但我认为,在这种情况下,您需要的是在
之前。因此,您可以为
push
使用
private
功能,并在testPush之前为
push
功能添加
@注释。因此,它将在执行
testPush
之前执行。实际上,我只是尝试使用@depends,但它无法正常工作。我花了很多时间在它上面,这让我觉得很无聊。在将
pull
替换为
testPull
之后,它还没有工作。您是否将注释更改为
@depends testPull
?当然,在将
pull
替换为
testPull
后,应用程序没有进入
testPull
,它还没有工作。您是否已将注释更改为
@依赖testPull
?当然,应用程序也没有进入
testPull
class GoodsServiceTest extends \PHPUnit_Framework_TestCase
{
    private $service;

    public function getStacks()
    {
        return [ //a list of test calls
                   [ // a list of test arguments
                       [1,2], //first argument
                       3 //second argument
                   ],
                   [
                       [3,5],
                       8
                   ]
               ];
    }


    /**
     * @dataProvider getStacks
     */
    public function testStacks($stack, $expectedResult)
    {
        $this->assertEquals($expectedResult, array_sum($stack));
    }
}
class GoodsServiceTest extends \PHPUnit_Framework_TestCase
{
    private $service;

    public function testPull(){
          return [1,2];
    }


    /**
     * @depends pull
     */
    public function testPush($stack){
        $this->assertEquals([1,2],$stack);
    }

}