Nette/Tester a testování modelu

MikeLacroix
Člen | 60
+
0
-

Ahojte,

rád bych začal vytvářet testy pro své aplikace. Pomocí Nette/Tester. Jako první bych chtěl například testovat, že metoda:

public function save(Article $article) { ... };

která se nachází v repozitáři Articles, uloží daný článek do databáze a pracuje tedy správně.

Ale nevím, jak do testů zapracovat databázi. V zásadě mě napadají dvě varianty:

  1. Vytvořím si úplně novou, čistou databázi, kterou budu během testů používat a po jejich skončení ji zase odstraním.
  2. Vytvořím si nějaký mock databáze.

Ale ani jedno nevím, jak udělat. Zároveň mi přijde, že toto musí řešit snad každá aplikace, u které jsou testy napsané. Ovšem nedaří se mi najít žádný tutorial nebo nějaký zdroj na netu… Poradíte mi? V aplikaci používám Nette/Database.

Petr Parolek
Člen | 455
+
+1
-

Ahoj, někjteří mě tu ukamenují, používám testbech https://github.com/…%5CTDoctrine a pohodové testování modelu mám, Lépe řečeno používám fork s aktuzlizovaným kodem https://github.com/…ik/testbench .

Editoval ppar (10. 1. 2019 22:51)

MikeLacroix
Člen | 60
+
0
-

Díky! Testbench vypadá dobře, akorát mi to při instalaci hlásí tuto chybu… co s tím? :-)

D:\localhost\projekt.cz> composer require –dev mrtnzlml/testbench
Using version ^2.4 for mrtnzlml/testbench
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

Problem 1
 – mrtnzlml/testbench v2.4.2 requires nette/tester 2.0.x-dev as v1.7 → no matching package found.
 – mrtnzlml/testbench v2.4.1 requires nette/tester 2.0.x-dev as v1.7 → no matching package found.
 – mrtnzlml/testbench v2.4 requires nette/tester 2.0.x-dev as v1.7 → no matching package found.
 – Installation request for mrtnzlml/testbench ^2.4 → satisfiable by mrtnzlml/testbench[v2.4, v2.4.1, v2.4.2].

Potential causes
A typo in the package name
The package is not available in a stable-enough version according to your minimum-stability setting

see <https://getcomposer.org/…04-schema.md#…> for more details.

Read <https://getcomposer.org/…eshooting.md> for further common problems.

Installation failed, reverting ./composer.json to its original content.

V composer.json mám "nette/tester": "^2.1". Znamená to tedy, že musím používat starší verzi testeru? :-)