我想将我的 README.md 中的示例包含在我的测试套件中。所以我可以确定所有示例仍然有效,我不需要再次编写相同的示例作为 PHPUnit 测试用例。
有没有人已经写过对此的支持?
我想将我的 README.md 中的示例包含在我的测试套件中。所以我可以确定所有示例仍然有效,我不需要再次编写相同的示例作为 PHPUnit 测试用例。
有没有人已经写过对此的支持?
我想出了一个肮脏的黑客。我使用正则表达式从 README 中获取所有代码示例,并在测试用例中对它们进行评估。
/**
* @dataProvider parseReadme
*/
public function testReadme($example)
{
$code = str_replace('HTMLBuilder', '\Comsolit\HTMLBuilder\HTMLBuilder', $example);
eval($code);
}
public function parseReadme()
{
$readme = file_get_contents(__DIR__ . '/../README.md');
$matches = [];
preg_match_all('/(?:```PHP([^`]*)```)/ism', $readme, $matches);
return array_map(
function($x) {return [$x];},
$matches[1]
);
}