phpunit断言包含两种可能性

时间:2018-03-26 13:59:48

标签: phpunit

如何让PHPUnit断言长字符串包含两个可能的选项之一?任何一个结果都应该断言为真。像这样的东西?

$multi_kilobyte_string = "lorem ipsum...";
$option1 = "dolor";
$option2 = "amet";
$this->assertContains([$option1, $option2], $multi_kilobyte_string);

1 个答案:

答案 0 :(得分:4)

这个问题的解决方案很简单(但没有完全记录):

public function testContainsThisOrThat()
{
    $multi_kilobyte_string = "lorem ipsum...";
    $option1 = "dolor";
    $option2 = "amet";

    $this->assertThat($multi_kilobyte_string,
        $this->logicalOr(
            $this->stringContains($option1),
            $this->stringContains($option2)
        )
    );
}

PHPUnit的最佳信息来源是source code。此外,您的编辑器的自动完成功能(假设您正在使用提供它的那个)。