我正在尝试用PHP编写一些动态测试。
这个想法是,我的代码的某些部分(基于注释)对自己进行测试。
我有一种工作方式;我的测试类有一个单独的方法testRun
和一个dataProvider testRunProvider
,后者依次用自己动态生成的给定数据集测试每个方法。然而,当测试失败时,这是有效的,因为只有一个测试具有不同的数据,所以可读性不强。
我尝试过在一个测试中创建测试和套件的多种组合,该测试有一个提供程序,它为它提供方法,据我所知,这应该意味着对于我测试的每个方法,我都会为它创建一个新的测试套件,然后我也会传递数据。
我得到的最接近的方法是得到一个"新"测试的名称来显示,但它永远不会完成,测试运行者也不会在总数中识别出新测试。
所以我几乎做到了——你可以通过放置一个名为suite
的静态函数来定义一个自定义测试套件,该函数以套件的名称为参数。
我做错的地方是我没有归还它创建的套房。