Php 通过UI调用测试依赖项

Php 通过UI调用测试依赖项,php,phpunit,phpstorm,Php,Phpunit,Phpstorm,我有以下测试结构: public function testData() { $data = 10; // Test using $data return $data; } /** * @depends testData */ public function testSameData($data) { // More tests using data } 当我把它作为测试套件的一部分运行时,它工作得很好 然而,在PhpStorm中,如果我右键单击函数名,我会得到选

我有以下测试结构:

public function testData() {
   $data = 10;
   // Test using $data
   return $data;
}
/**
 * @depends testData
 */
public function testSameData($data) {
    // More tests using data
}
当我把它作为测试套件的一部分运行时,它工作得很好

然而,在PhpStorm中,如果我右键单击函数名,我会得到选项“Run'testSameData'”,当我单击该选项时,它会给出:

此测试取决于“Tests\testData”是否通过


是否有一种(内置或插件)方法来配置PhpStorm,使其在被要求作为单个函数运行时自动运行测试的依赖项?

depends注释告诉phpunit,只有它所依赖的测试之前已经运行过,测试才能tun

在您的情况下,您需要的似乎是一个数据提供者:

充当数据提供者的方法需要返回数组数组,如下所示:

public function myTestData() : array
{
    return [
        [10]
    ]
}

/**
 * @dataProvider myTestData
 */
public function testSameData($data) 
{
    // More tests using data
}
请注意,数据提供程序将为外部数组中的每个数组项运行测试。这样,您可以使用不同的数据集多次运行一个测试

或者,这些数据集可以命名为:

public function myTestData() : array
{
    return [
        'Ten' => [10],
        'Five' => [5],
    ]
}

<>编辑:注意,我已经更改了DATAL提供程序的名称:如果从测试开始,PHPUnt会自行考虑测试用例,并且可能会警告缺少断言。

< P>。 在您的情况下,您需要的似乎是一个数据提供者:

充当数据提供者的方法需要返回数组数组,如下所示:

public function myTestData() : array
{
    return [
        [10]
    ]
}

/**
 * @dataProvider myTestData
 */
public function testSameData($data) 
{
    // More tests using data
}
请注意,数据提供程序将为外部数组中的每个数组项运行测试。这样,您可以使用不同的数据集多次运行一个测试

或者,这些数据集可以命名为:

public function myTestData() : array
{
    return [
        'Ten' => [10],
        'Five' => [5],
    ]
}

编辑:注意,我已经更改了数据提供程序的名称:如果它以test开头,PHPUnt会自行考虑一个测试用例,可能会警告缺少断言。

似乎是<代码>数据提供者>代码>,而不是<代码>取决于 >似乎是<代码>数据提供者>代码>,而不是<代码>取决于< /代码>。然而,毕竟数据提供者似乎是更好的实践。我实际做的是使用$data进行测试,在这一点上,依赖测试更改了数据的值,然后用于下一个测试,但现在我想到,我可以轻松地将这两个测试解耦,只使用一个数据提供程序。我想这是我的缺点,因为我没有更详细地解释我认为需要它的内容,然而,毕竟数据提供者似乎是更好的实践。我实际做的是使用$data进行测试,在这一点上,依赖测试更改了数据的值,然后用于下一个测试,但现在我想到,我可以轻松地将这两个测试解耦,只需使用数据提供程序。