通过 UI 调用测试依赖
Call test dependency via UI
我有以下测试结构:
public function testData() {
$data = 10;
// Test using $data
return $data;
}
/**
* @depends testData
*/
public function testSameData($data) {
// More tests using data
}
当我 运行 它作为我的测试套件的一部分时,它工作正常。
但是,在 PhpStorm 中,如果我右键单击函数名称,我会得到选项 "Run 'testSameData'",当我单击它时,它会给我:
This test depends on "Tests\testData" to pass.
是否有(内置或插件)方法将 PhpStorm 配置为自动 运行 测试的依赖项,如果它被要求 运行 它作为一个单独的函数?
@depends 注释告诉 phpunit 测试只有在其依赖的测试之前有 运行 时才能 tun。
在你的情况下,你需要的似乎是一个数据提供者:https://phpunit.de/manual/current/en/writing-tests-for-phpunit.html#writing-tests-for-phpunit.data-providers
作为数据提供者的方法需要return一个数组数组,像这样:
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 开头,phpunit 会认为它本身就是一个测试用例,并且可能会警告缺少断言。
我有以下测试结构:
public function testData() {
$data = 10;
// Test using $data
return $data;
}
/**
* @depends testData
*/
public function testSameData($data) {
// More tests using data
}
当我 运行 它作为我的测试套件的一部分时,它工作正常。
但是,在 PhpStorm 中,如果我右键单击函数名称,我会得到选项 "Run 'testSameData'",当我单击它时,它会给我:
This test depends on "Tests\testData" to pass.
是否有(内置或插件)方法将 PhpStorm 配置为自动 运行 测试的依赖项,如果它被要求 运行 它作为一个单独的函数?
@depends 注释告诉 phpunit 测试只有在其依赖的测试之前有 运行 时才能 tun。
在你的情况下,你需要的似乎是一个数据提供者:https://phpunit.de/manual/current/en/writing-tests-for-phpunit.html#writing-tests-for-phpunit.data-providers
作为数据提供者的方法需要return一个数组数组,像这样:
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 开头,phpunit 会认为它本身就是一个测试用例,并且可能会警告缺少断言。