小编imc*_*ddy的帖子

phpunit可以使用多个数据提供程序

简而言之一个问题:运行测试时phpunit可以使用多个数据提供程序吗?

例如,我有一个名为getById的方法,我需要为它运行成功和不成功的测试用例.

成功的测试用例意味着它可以返回相应的记录.对于不成功的输入,输入可以分为两类:无效和失败.

无效意味着输入不合法,而失败意味着输入可能有效,但没有相应的记录与该ID.

所以代码是这样的:

/** 
 * @dataProvider provideInvalidId
 * @dataProvider provideFailedId
 */
public function testGetByIdUnsuccess($id)
{   
    $this->assertNull($this->model->getById($id));
}   
Run Code Online (Sandbox Code Playgroud)

但事实证明,只使用了第一个数据提供者,而忽略了第二个数据提供者.虽然我不确定这种情况是否常见,但这是问题所在.我们可以使用多个数据提供商?如果我们可以,怎么样?

PS:在这里找不到太多帮助

php tdd phpunit unit-testing

28
推荐指数
4
解决办法
9421
查看次数

如何恢复丢弃的MongoDB数据库?

如果有人意外删除了MongoDB数据库但执行了db.dropDatabase(),他怎么能恢复数据库呢?

删除MongoDB中的数据库很简单,命令db.dropDatabase()不会删除它上面的所有数据,而是将其标记为要删除,因此使用drop命令后数据库的大小不会改变,认为应该有一些方法来删除待删除的标记.有人能指出我怎么样?

database mongodb

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

database ×1

mongodb ×1

php ×1

phpunit ×1

tdd ×1

unit-testing ×1