· 9 years ago · Jan 14, 2017, 12:18 PM
1<pre>
2<?php
3
4/*
5 *
6 * ПротеÑтируйте работу нового метода, Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ заведите в проекте папку tests и в ней размещайте Ñкрипты,
7 * которые наглÑдно докажут работоÑпоÑобноÑть вашего кода.
8 *
9 */
10
11require __DIR__ . '/../autoload.php';
12
13$db = new \App\Db;
14$prefix = rand();
15
16/*
17 * --------------------------
18 * Создаем теÑтовое окружение
19 * --------------------------
20 */
21
22// проверка запроÑа без параметров
23$sql = 'CREATE TABLE IF NOT EXISTS '.$prefix.'_tests (id SERIAL, name TEXT) ENGINE = InnoDB';
24
25// Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð¸ результат запроÑа
26var_dump('db->execute: ' . $sql);
27assert(true === $db->execute($sql,[]));
28
29?>
30 <hr>
31<?php
32
33/*
34 * --------------------------
35 * ОÑновные теÑты
36 * --------------------------
37 */
38
39// проверка запроÑа Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸
40$sql = 'INSERT INTO '.$prefix.'_tests (id, name) VALUES (NULL, :name)';
41
42// Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð¸ результат запроÑа
43var_dump('db->execute: ' . $sql);
44assert(true === $db->execute($sql,[':name'=>'execute_test']));
45
46// выборка данных
47$sql = 'SELECT * FROM '.$prefix.'_tests WHERE name=:name';
48
49var_dump('db->query: ' . $sql);
50$result = $db->query($sql,[':name'=>'execute_test']);
51
52if (false === empty($result)) { ?>
53 <h3>MAIN TEST PASSED</h3>
54<?php } else { ?>
55 <h3>MAIN TEST FAILED</h3>
56<?php }
57
58var_dump($result);
59
60?>
61 <hr>
62<?php
63
64/*
65 * --------------------------
66 * Очищаем теÑтовое окружение
67 * --------------------------
68 */
69$sql = 'DROP TABLE '.$prefix.'_tests';
70// Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð¸ результат запроÑа
71var_dump('db->execute: ' . $sql);
72assert(true === $db->execute($sql,[]));
73
74// TODO: assert();
75
76
77?>
78</pre>