我正在开发一个 API,但在编写一些测试用例时遇到了麻烦。我已经编写了一组通用测试用例来测试所有实体。其中包括创建、修改和删除等一般操作。
/**
* @dataProvider provideCreateData
* @depends LoginTest::testLogin
*/
public function testCreate
/**
* @dataProvider provideModifyData
* @depends testCreate
*/
function testModify
数据提供者提供 API 实体列表及其各自的属性,测试会动态测试所有实体,而我们不必在未来发生变化时对测试进行主控。
以上目前工作正常,但我无法集成其他需要的硬编码测试,例如不遵循一般模式的搜索功能。显然,我无法在没有现有实体的情况下测试 find 函数,因此 find 测试需要在 create 测试之后运行,而我在执行此操作时遇到了麻烦。我尝试使用:
/**
* @depends GeneralTest::testCreate
*/
public function testFind() {}
哪个不起作用,测试没有运行,而是无缘无故地被跳过。但是,如果我删除了依赖项,测试就会运行,但是我不能再保证数据库中存在实体。
我觉得我遗漏了一些明显的东西,或者我误解了一些重要的概念。