0
我想將我的README.md中的示例包含在我的測試套件中。所以我可以確定所有示例仍然有效,並且我不需要再像PHPUnit測試用例一樣編寫相同的示例。Literate PHP在README中測試示例
有沒有人已經爲此寫過支持?
我想將我的README.md中的示例包含在我的測試套件中。所以我可以確定所有示例仍然有效,並且我不需要再像PHPUnit測試用例一樣編寫相同的示例。Literate PHP在README中測試示例
有沒有人已經爲此寫過支持?
我想出了一個骯髒的黑客。我使用正則表達式從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]
);
}