Я отчасти новичок в тесте PHPUnit, поэтому оцените вашу помощь, чтобы увидеть, следую ли я правильному подходу или нет.
Я пытаюсь проверить свои методы; У меня есть два вопроса
1) Как я могу получить свою тестовую базу данных с фиктивными данными? прямо сейчас у меня есть все настройки моей базы данных в классе pdo_connect, а в конструкторе этого класса я выполняю все инициализации базы данных, включая dbname, host, …; Я включил свой метод, который я хочу проверить здесь, и мой тестовый пример; мой вопрос заключается в том, является ли хорошей практикой изменять мою базу данных для тестирования на основе разных сред; например, если переменная «environment» в моих настройках «test», я использую базу данных «test», которая имеет фиктивные данные и …
2) Также я очень признателен, если вы подтвердите мой примерный пример теста, который указан ниже, это правильный способ тестирования функциональности моего метода!
static public function get_images($id) { try { $conn = new pdo_connect(); $query = " SELECT ...."; $result = $conn->prepare($query); $result->bindParam(':id', $id); $result->execute(); $array_result = $result->fetchAll(PDO::FETCH_OBJ); $result_Set = array($paginate_result, TRUE); } catch (Exception $e) { $result_Set = array($e->getMessage(), FALSE); } return $result_Set; }
и мой тест:
class SomeTest extends PHPUnit_Framework_TestCase { public function __construct() { require_once('../includes/model.php'); } public function test_id_not_exist() { $con = $this->getMock('conn'); $dao = new Model($con); $result = MODEL::get_images(555); $expected = array(array(), True); self::assertEquals($expected, $result); } }
Пожалуйста, дайте мне знать, если вам нужно больше разъяснений … и снова я ценю это заранее …