在使用相同@dataProvider
的两个或多个测试的PHPUnit测试用例中,我希望提供者找出它提供数据的测试。我用debug_backtrace()
完成了这个,但这感觉不对。 PHPUnit是否提供了另一种更标准的方法来实现这一目标?如果是,怎么样?
<?php
class MyTest extends \PHPUnit_Framework_TestCase {
/** @dataProvider dataProvider */
public function testA () {}
/** @dataProvider dataProvider */
public function testB () {}
public function dataProvider () {
$trace = debug_backtrace(false, 3);
$caller = $trace[2]['args'][2];
// $caller === 'testA' or $caller === 'testB'
}
}
答案 0 :(得分:2)
创建调用基础数据提供程序的各个数据提供程序。通过这种方式,您可以知道调用者是什么,并且仍然可以拥有单个入口点。
imports excel = microsoft.office.interop.excel
dim excelapp as excel.application
dim WB as excel.workbook
sub button1()
excelapp = new excel.application
WB = excelapp.workbooks.add
excelapp.visible=true
end sub