我正在开发一个API,并且在编写一些测试用例时遇到了困难。
我已经编写了一组通用的测试用例来测试所有实体。这些包括常规操作,如创建、修改和删除。
/**
* @dataProvider provideCreateData
* @depends LoginTest::testLogin
*/
public function testCreate
/**
* @dataProvider provideModifyData
* @depends testCreate
*/
function testModify
数据提供程序提供 API 实体列表及其各自的属性,测试动态地测试所有实体,而无需在未来更改时维护测试。
上述内容目前运行良好,但我遇到了整合其他需要硬编码的测试的问题,例如不遵循一般模式的搜索功能。 显然,我不能在不存在实体的情况下测试查找功能,因此查找测试需要在创建测试之后运行,这是我遇到的问题。 我尝试使用:
/**
* @depends GeneralTest::testCreate
*/
public function testFind() {}
哪里出了问题,测试没有运行,而是无缘无故地跳过。但是如果我删除依赖项,则会运行测试,但是这样我就不能保证数据库中存在实体。
我觉得我可能漏掉了一些明显的东西,或者可能我误解了一些重要的概念。