0

我想将我的 README.md 中的示例包含在我的测试套件中。所以我可以确定所有示例仍然有效,我不需要再次编写相同的示例作为 PHPUnit 测试用例。

有没有人已经写过对此的支持?

4

1 回答 1

0

我想出了一个肮脏的黑客。我使用正则表达式从 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]
    );
}

(来自:comsolit/html-builder

于 2015-05-21T12:43:19.627 回答