我在登录页面有一个类用于检查用户,这里我如何实现单元测试? 这是我的登录页面php代码:
class login {
function checkuserlogin() {
$username = $_REQUEST['username'];
$pwd = $_REQUEST['pwd'];
$result = mysql_query($selQry);
$resultset = mysql_num_rows($result);
while($row = mysql_fetch_array($result))
{
if(($row['username']==$username && $row['password']==$password )|| ($row['email'] == $username && $row['password']==$password)) {
do.. codes
}
else {
do.. codes
}
}
}
}
$login = new login();
$login->checkuserlogin();
帮帮我, 提前谢谢。
答案 0 :(得分:2)
你试过phpUnit吗? http://www.phpunit.de/manual/current/en/
它支持数据库测试。
您可以通过重构并将授权代码移动到方法来测试您的类,如下所示:
class login {
function checkuserlogin() {
if (isUserAuthorized($_REQUEST['username'], $_REQUEST['pwd']) {
do...codes
} else {
do...codes
}
}
function isUserAuthorized($username, $pwd) {
$result = mysql_query($selQry);
$resultset = mysql_num_rows($result);
while($row = mysql_fetch_array($result)) {
if(($row['username']==$username && $row['password']==$pwd )|| ($row['email'] == $username && $row['password']==$pwd)) {
return true;
}
}
return false;
}
}
然后单独测试isUserAuthorized
,而不必担心模拟请求。