我有一个具有两个测试的特征,每个测试都有一个单独的数据提供者:
<?php
$listed = get_post_meta($post->ID,'listed',true);
$broker = get_post_meta($post->ID,'broker',true);
if( $listed && $broker ){
if( $listed == 'Sold' ) { echo ' <div class="more-information">Sold By</div><li> [broker] [officephone] </li>'; }
if( $listed == 'For Sale' ) { echo ' <div class="more-information">Contact Information </div><li> [broker] [officephone] </li>'; }
if( $listed == 'Not For Sale' ) { echo ' <div class="more-information">Last Active Agent </div><li> [broker] [officephone] </li>'; }
if( $listed == 'Contingent or Pending Sale' ) { echo ' <div class="more-information">If interested, contact agent for current status. </div><li> [broker] [officephone] </li>'; }
if( $listed == 'Demolished' ) { echo ' '; }
} ?>
我的测试类包含要使用trait StringTest
{
/**
* @dataProvider stringProvider
*/
public function testString($expression, $string)
{
//echo $name;
$this->assertInternalType('string', $string, "Not a string.");
$this->assertRegExp($expression, $string);
}
/**
* @dataProvider nonmatchingStringProvider
*/
public function testNonmatchingString($expression, $string)
{
//echo $name;
$this->assertInternalType('string', $string, "Not a string.");
$this->assertNotRegExp($expression, $string);
}
}
但不能使用testString
进行测试的案例。当我没有nonmatchingStringProvider
的任何情况时,我想完全忽略testNonmatchingString
。完全忽略。不报告任何类型的错误,警告或跳过。 (在this case中,开发人员接受了一个解决方案,将测试标记为已跳过。此处不接受跳过。)
我可以把这个特性分成两个不同的特征。我宁愿不这样做。
是否可以通过省略类中的nonmatchingStringProvider
或定义nonmatchingStringProvider
并让它返回一个空数组来编码或配置phpunit以这种方式运行?