我正在嘗試使用PHPUnit編寫一個PHP項目的unittest。該項目主要使用SQL數據庫。PHP和SQL單元測試
我有使用SQL的任何函數,我不知道如何開始編寫測試。我有一個問題找到要做什麼測試,因爲他們都使用SQL,其中大多數不返回任何東西,但只是操縱數據庫和會話變量。
這是嘗試用於創建測試之一:
<?php
require_once '../../test/admin/admin.php';
class checkIsAdminTest extends PHPUnit_Framework_TestCase {
private $ID = '123456789';
private $Class = 0;
private $Pass = 'Aa12345678';
private $First = "Bla";
private $Last = "Bla";
private $Email = "[email protected]";
protected function setUp() {
parent::setUp();
$servername = "localhost";
$username = "root";
$password = "";
$dbname = 'trivia';
$conn = mysqli_connect($servername, $username, $password, $dbname);
$sql = "INSERT INTO `users` (`ID`, `Class`, `Password`, `First`, `Last`, `Email`) VALUES ('" . $this->ID . "', '" . $this->Class . "', '" . sha1($this->Pass) . "', '" . $this->First . "', '" . $this->Last . "', '" . $this->Email . "');";
mysqli_query($conn, $sql);
session_start();
$_SESSION["ID"] = $this->ID;
}
protected function tearDown() {
parent::tearDown();
}
public function __construct() {
}
public function testCheckIsAdmin() {
$this->assertEquals($this->Class == 0 ? False : True, checkIsAdmin());
}
}
?>
功能檢查是否命名的記錄的字段「類」的一個表中的谷「用戶」是0或1,返回如果是1,則爲「真」,否則爲假。