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进行测试,在这一点上,依赖测试更改了数据的值,然后用于下一个测试,但现在我想到,我可以轻松地将这两个测试解耦,只需使用数据提供程序。