私はphpunitに少し慣れていません。何時間も調査した後、方法がわかりません。phpunit を使用して関数 getResults をテストするにはどうすればよいですか。
関数 getResults および getResultsDetails は Result クラスに属します。関数 searchUser は User クラスに属します。パス ログインを取得するには、ユーザー名とパスワードを使用してログイン オブジェクトで doLogin を呼び出すことができます。これは $_SESSION に残ります。
class Result {
public function __construct()
{
if(!isset($_SESSION)){
session_start();
}
$this->loginObject = new Login();
}
public function getResults($fName, $lName)
{
$result = searchUser($fName, $lName);
while ($row = mysql_fetch_assoc($results)) {
$userIDs = $result['id'] . ',';
}
return
array(
'userIDs' => $userIDs,
'count' => getResultDetails($userIDs),
'results' => getResultDetails($userIDs, 0, 500),
)
}
制限とオフセットが渡された場合は結果を返し、それ以外の場合はすべてのカウントを返します
public function getResultDetails($userIDs, $limit = null, $offset =null)
{
if(!$this->beforeFilter()) return "logout";
//open db connection
$sql = '';
if(!$limit && !$offset)
{
$sql .= 'SELECT count(*) ';
} else {
$sql .= 'SELECT a.info, b.info, d.info ';
}
$sql .= 'FROM a ';
$sql .= 'inner join b on blah blah';
$sql .= 'inner join d blah blah';
$sql .= "where d.userID in ($userIDs)";
if($limit && $offset)
$sql .= "LIMIT $limit, $offset";
return mysql_query($sql);
}
}
これは、firName と lastName に基づくユーザーの検索です。searchUser は User クラスに属します class Patient{ public function __construct() { if(!isset($_SESSION)){ session_start(); $this->loginObject = new Login(); } }
public function searchUser($fName, $lName)
{
if(!$this->beforeFilter()) return "logout";
// logic to do search user and return user result mysq_query($sql)
return userIDs;
}
}