J'ai certaines classes de base de données qui utilisent mysqli. Par exemple:Test de la classe de base de données mysqli avec la base de données de la mémoire phpunit sqlite
class MyDB
{
function __construct($db)
{
$this->db = $db;
}
function add($name)
{
$sql = "INSERT INTO mytable (name) VALUES ('$name');"
$this->db->query($sql);
if ($this->db->affected_rows) {
return $this->db->insert_id;
}
return 0;
}
...
Je voudrais les tester avec PHPUnit, en utilisant une base de données sqlite en mémoire. Cependant, comme prévu, je reçois cette erreur:
Undefined property: PDO::$affected_rows
Selon la documentation:
PDO is only required for the fixture clean- and set-up and for assertions. You can use whatever database abstraction you want inside your own code.
Je soupçonne que tout signifie que je dois créer une enveloppe pour mysqli qui est compatible avec AOP. Ou est-il possible de tester mon code sans le convertir en PDO?