使用数据库进行Phpunit测试
我正在尝试使用PHPunit关注单元测试.
我在这里找到了一个非常好的教程http://blog.nickbelhomme.com/php/phpunit-training-course-for-free_282 但是有些东西我想念并且还不知道该怎么做. 我有一个用户模块,它维护有关用户的所有信息.还有一个功能保存功能可以将用户保存在数据库中.所以我有一个testFunction public function testCanCreateUser() { $userData = array( 'userName' => 'User1','firstName' => 'Joey','lastName' => 'Hendricks','email' => 'Joey@hendricks.com','password' => 'f$tfe8F' ); $user = new Model_User($userData); $user->save(); } 我将第一次参加我的测试.由于数据库是空的.但是当我第二次运行我的测试时它将无法工作,因为我的系统不允许同一个用户在数据库中两次.所以为了做到这一点,我必须在每次运行测试之前重新创建我的testdatabase.做这个的最好方式是什么? TNX. 解决方法如果要测试业务逻辑:模拟数据库类并返回虚假数据如果你想测试触发sql语句的类(并且你也可以测试它,因为我有点想知道我的代码是否在后端使用真正的数据库工作正常)它有点复杂但有办法做到这一点: >在运行测试之前使用setUp()和tearDown()为您获取数据的一致状态是(imho)编写数据库驱动的单元测试的好方法.尽管手动编写大量自定义sql会很烦人. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |