我在我的PHP项目中使用TDD(测试驱动开发),我还有一个数据库,用于存储用户之类的东西。
我有一个创建用户的类,所以它类似于:
$user = new User();
$user->create('username', 'password', 'mail');
所以,我也有一个测试,测试该方法(创建用户)是否有效。所以,我的问题是,每次运行测试时,都会创建一个用户,因此它可以工作 但我想知道是否有办法进行测试而不是在我的数据库中创建信息,因为每次我运行所有测试时,它都会创建新用户,因此我的数据库中充满了用测试创建的用户。
希望你理解我!
谢谢!
答案 0 :(得分:1)
一种方法是使用您的创建测试添加删除测试。在您的测试创建新用户后,您将转身并将其从数据库中删除。这样你就可以同时测试两件事而不会污染你的数据库,如果其中任何一个失败,你就会知道。
另一种方法是抽象出你的数据库调用,以便在创建新用户或进行任何其他数据库调用时,可以将内存中的内容假装为数据库。