0
我目前正在爲我編寫的mysqli包裝類編寫單元測試。PHPUnit對於相同的代碼具有不同的行爲
其中一項測試是使用錯誤的憑證檢查連接到MySQL。
這是類c'tor代碼:
public function __construct($host, $userName, $password, $databaseName)
{
$this->m_sqlConn = new mysqli($host, $userName, $password, $databaseName);
if(!mysqli_connect_error())
{
//...
}
else
{
throw new FailedToConnectDatabaseException($this->getLastDatabaseErrorStr());
}
}
當調試我的PHP代碼(與XDebug的),沒有錯誤,也沒有異常的時候拋出創建新的mysqli
(我運行這個行:)
$conn = new MySQLConnection("localhost", "WRONG_USERNAME", "WRONG_PASSWORD", "NON_EXISTANT_DB");
但是當PHPUnit的運行相同的代碼時,測試:
public function test_wrongCredentials() {
$this->object = new MySQLConnection("localhost", "WRONG_USERNAME", "WRONG_PASSWORD", "NON_EXISTANT_DB");
}
到達錯誤處理程序說
「的mysqli :: mysqli的()(HY000/1045):拒絕訪問用戶 'WRONG_USERNAME' @ 'localhost' 的(使用密碼:YES)」
可能是什麼原因,或者有什麼我不知道的?
你想要我們隨機猜測,還是要提出一些代碼? –
@DamienBlack增加了類,php單元,調試代碼。 – Taru
我們需要你PHPunit的代碼,因爲這是拋出錯誤。 –