使用PHPUnit创建动态测试


Create dynamic tests with PHPUnit

我正在尝试用PHP编写一些动态测试。

这个想法是,我的代码的某些部分(基于注释)对自己进行测试。

我有一种工作方式;我的测试类有一个单独的方法testRun和一个dataProvider testRunProvider,后者依次用自己动态生成的给定数据集测试每个方法。然而,当测试失败时,这是有效的,因为只有一个测试具有不同的数据,所以可读性不强。

我尝试过在一个测试中创建测试和套件的多种组合,该测试有一个提供程序,它为它提供方法,据我所知,这应该意味着对于我测试的每个方法,我都会为它创建一个新的测试套件,然后我也会传递数据。

我得到的最接近的方法是得到一个"新"测试的名称来显示,但它永远不会完成,测试运行者也不会在总数中识别出新测试。

所以我几乎做到了——你可以通过放置一个名为suite的静态函数来定义一个自定义测试套件,该函数以套件的名称为参数。

我做错的地方是我没有归还它创建的套房。