Soumettre la recherche
Mettre en ligne
Testování v PHP
•
Télécharger en tant que PPTX, PDF
•
1 j'aime
•
512 vues
Ondřej Mirtes
Suivre
Úvod do testování aplikací v PHP.
Lire moins
Lire la suite
Signaler
Partager
Signaler
Partager
1 sur 27
Télécharger maintenant
Recommandé
Nette Tester / Posobota
Nette Tester / Posobota
Filip Procházka
Kdyby/Translation
Kdyby/Translation
Filip Procházka
Debugování s XDebug
Debugování s XDebug
Taste Medio
Funkční testování – chybějící vrchol pyramidy (WebExpo 2016)
Funkční testování – chybějící vrchol pyramidy (WebExpo 2016)
Ondřej Machulda
Aplikační nastavení v .NET
Aplikační nastavení v .NET
Jan Hřídel
Petr Heinz - Čisté testy, dobré testy
Petr Heinz - Čisté testy, dobré testy
Anna Kovárová
INPTP Rekapitulace
INPTP Rekapitulace
Jan Hřídel
C# - Vícevláknové aplikace
C# - Vícevláknové aplikace
Jan Hřídel
Recommandé
Nette Tester / Posobota
Nette Tester / Posobota
Filip Procházka
Kdyby/Translation
Kdyby/Translation
Filip Procházka
Debugování s XDebug
Debugování s XDebug
Taste Medio
Funkční testování – chybějící vrchol pyramidy (WebExpo 2016)
Funkční testování – chybějící vrchol pyramidy (WebExpo 2016)
Ondřej Machulda
Aplikační nastavení v .NET
Aplikační nastavení v .NET
Jan Hřídel
Petr Heinz - Čisté testy, dobré testy
Petr Heinz - Čisté testy, dobré testy
Anna Kovárová
INPTP Rekapitulace
INPTP Rekapitulace
Jan Hřídel
C# - Vícevláknové aplikace
C# - Vícevláknové aplikace
Jan Hřídel
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
Martin Hujer
Technologie užívané při vývoji velkých e-shopů
Technologie užívané při vývoji velkých e-shopů
PeckaDesign.cz
Lex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Lex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Develcz
atoto.cz - jak na snadnou integraci Codeception
atoto.cz - jak na snadnou integraci Codeception
atotocz
20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně
Jiří Mareš
Seminar Nastroje Jednotk Testovani
Seminar Nastroje Jednotk Testovani
Jakub Holy
Představení Ruby on Rails
Představení Ruby on Rails
igloonet
Vizuální regresní testy
Vizuální regresní testy
Martin Krištof
Proč chcete testovat své aplikace
Proč chcete testovat své aplikace
atotocz
WordCamp Bratislava 2017 - Martin Hlaváč
WordCamp Bratislava 2017 - Martin Hlaváč
Brilo Team
Optimalizace Symfony na devu
Optimalizace Symfony na devu
Vašek Purchart
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Péhápkaři
06 prez10(tvorba webu)
06 prez10(tvorba webu)
olc_user
Využití chemie v procesu testování webových aplikací vytvořených pomocí techn...
Využití chemie v procesu testování webových aplikací vytvořených pomocí techn...
Michal Špaček
Trendy a nové možnosti test automation
Trendy a nové možnosti test automation
Ondřej Machulda
Nette framework - How to compile an extensible di container
Nette framework - How to compile an extensible di container
Filip Procházka
Zend Framework
Zend Framework
Ladislav Prskavec
TNPW2-2011-03
TNPW2-2011-03
Lukáš Vacek
Deployment PHP aplikací | WebExpo 2011
Deployment PHP aplikací | WebExpo 2011
Jan Mittner
Deployment prakticky
Deployment prakticky
Ladislav Prskavec
Contenu connexe
Similaire à Testování v PHP
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
Martin Hujer
Technologie užívané při vývoji velkých e-shopů
Technologie užívané při vývoji velkých e-shopů
PeckaDesign.cz
Lex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Lex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Develcz
atoto.cz - jak na snadnou integraci Codeception
atoto.cz - jak na snadnou integraci Codeception
atotocz
20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně
Jiří Mareš
Seminar Nastroje Jednotk Testovani
Seminar Nastroje Jednotk Testovani
Jakub Holy
Představení Ruby on Rails
Představení Ruby on Rails
igloonet
Vizuální regresní testy
Vizuální regresní testy
Martin Krištof
Proč chcete testovat své aplikace
Proč chcete testovat své aplikace
atotocz
WordCamp Bratislava 2017 - Martin Hlaváč
WordCamp Bratislava 2017 - Martin Hlaváč
Brilo Team
Optimalizace Symfony na devu
Optimalizace Symfony na devu
Vašek Purchart
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Péhápkaři
06 prez10(tvorba webu)
06 prez10(tvorba webu)
olc_user
Využití chemie v procesu testování webových aplikací vytvořených pomocí techn...
Využití chemie v procesu testování webových aplikací vytvořených pomocí techn...
Michal Špaček
Trendy a nové možnosti test automation
Trendy a nové možnosti test automation
Ondřej Machulda
Nette framework - How to compile an extensible di container
Nette framework - How to compile an extensible di container
Filip Procházka
Zend Framework
Zend Framework
Ladislav Prskavec
TNPW2-2011-03
TNPW2-2011-03
Lukáš Vacek
Deployment PHP aplikací | WebExpo 2011
Deployment PHP aplikací | WebExpo 2011
Jan Mittner
Deployment prakticky
Deployment prakticky
Ladislav Prskavec
Similaire à Testování v PHP
(20)
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
Zend Framework 2.0 (ZFMeetup Praha 3.11.2011)
Technologie užívané při vývoji velkých e-shopů
Technologie užívané při vývoji velkých e-shopů
Lex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Lex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
atoto.cz - jak na snadnou integraci Codeception
atoto.cz - jak na snadnou integraci Codeception
20110511 Vývoj software - produktivně, efektivně, kvalitně
20110511 Vývoj software - produktivně, efektivně, kvalitně
Seminar Nastroje Jednotk Testovani
Seminar Nastroje Jednotk Testovani
Představení Ruby on Rails
Představení Ruby on Rails
Vizuální regresní testy
Vizuální regresní testy
Proč chcete testovat své aplikace
Proč chcete testovat své aplikace
WordCamp Bratislava 2017 - Martin Hlaváč
WordCamp Bratislava 2017 - Martin Hlaváč
Optimalizace Symfony na devu
Optimalizace Symfony na devu
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
06 prez10(tvorba webu)
06 prez10(tvorba webu)
Využití chemie v procesu testování webových aplikací vytvořených pomocí techn...
Využití chemie v procesu testování webových aplikací vytvořených pomocí techn...
Trendy a nové možnosti test automation
Trendy a nové možnosti test automation
Nette framework - How to compile an extensible di container
Nette framework - How to compile an extensible di container
Zend Framework
Zend Framework
TNPW2-2011-03
TNPW2-2011-03
Deployment PHP aplikací | WebExpo 2011
Deployment PHP aplikací | WebExpo 2011
Deployment prakticky
Deployment prakticky
Testování v PHP
1.
Testování v PHP
Ondřej Mirtes ondrej@mirtes.cz
2.
Proč psát testy?
Nedílná součást vývoje Stálost Rychle odhalí chyby Refaktoring
3.
„Testy někdy dopíšu.“
4.
100% codecoverage?
5.
Dobrý návrh aplikace
Opravdové objekty (OOP) Minimum statických metod a proměnných DependencyInjection
6.
DependencyInjection public function__construct()
{ $this->db = DbConnection::getInstance(); }
7.
DependencyInjection public function__construct(IDbConnection
$db) { $this->db = $db; }
8.
PHPUnit
9.
Instalace $ sudopearchannel-discover
pear.phpunit.de $ sudopearinstallphpunit/PHPUnit $ phpunit –-version PHPUnit3.5.2by Sebastian Bergmann.
10.
Bootstrap /myapp/tests/bootstrap.php /**
načtení oblíbeného frameworku */ require_once(__DIR__. '/../libs/Nette/loader.php'); /** abstraktní třída jednotlivých testů */ require_once(__DIR__ . '/TestCase.php'); /** další nastavení... */
11.
phpunit.xml /myapp/tests/phpunit.xml <phpunit
bootstrap="bootstrap.php" colors="true" backupGlobals="false" />
12.
TestCase /myapp/tests/TestCase.php abstractclassTestCase
extendsPHPUnit_Framework_TestCase { }
13.
První test /myapp/tests/Stack/StackTest.php
classStackTestextendsTestCase { public functiontestInitialStackIsEmpty() { $stack= newStack; $this->assertEquals(0, count($stack->items)); } }
14.
Implementace /myapp/Stack/Stack.php classStack
{ private$items = array(); public functiongetItems() { return$this->items; } }
15.
Spuštění testů /myapp/tests/
$ phpunit . PHPUnit 3.5.2 by Sebastian Bergmann. . Time: 0 seconds, Memory: 4.00Mb OK (1 test, 1 assertion)
16.
Spuštění testů /myapp/tests/
$ phpunit –-testdox . StackTest [x] Initialstackisempty
17.
Vložení prvku /myapp/tests/Stack/StackTest.php
public functiontestPushedItemIsInTheStack() { $stack= newStack; $stack->push(5); $this->assertContains(5, $stack->getItems()); }
18.
Vložení prvku /myapp/tests/
$ phpunit –-testdox . StackTest [x] Initialstackisempty [ ] Pusheditemis in thestack
19.
Vložení prvku /myapp/Stack/Stack.php
public functionpush($item) { $this->items[] = $item; }
20.
Vložení prvku /myapp/tests/
$ phpunit –-testdox . StackTest [x] Initialstackisempty [x] Pusheditemis in thestack
21.
Výběr prvku /myapp/tests/Stack/StackTest.php
public functiontestPoppedItemIsReturned() { $stack= newStack; $stack->push(5); $this->assertEquals(5, $stack->pop()); $this->assertNotContains(5, $stack->getItems()); }
22.
Podtečení zásobníku /myapp/tests/Stack/StackTest.php
/** * @expectedExceptionStackUnderflowException */ public functiontestStackCannotBeUnderflowed() { $stack= newStack; $stack->pop(); }
23.
Další asserty assertNull
assertSame assertGreaterThan assertType assertInstanceOf assertRegexp assertThat
24.
setUp() & tearDown()
classStackTestextendsTestCase { private$stack; protectedfunctionsetUp() { $this->stack = newStack; } public functiontestInitialStackIsEmpty() { $this->assertEquals(0, count($this->stack->getItems())); } public functiontestPushedItemIsInTheStack() { $this->stack->push(5); $this->assertContains(5, $this->stack->getItems()); } }
25.
Další vlastnosti markTestSkipped()
getMock() --coverage-html Propojení s ContinuousIntegration
26.
Otázky?
27.
Díky za pozornost!
Télécharger maintenant