20. Die phpunit-Extension
bringt alles Wichtige mit
phpunit (TYPO3-Extension)
PHPUnit (PEAR-Paket)
Testrunner Testrunner
(Back-end- (Kommandozeilen-
Modul) Modul)
21. Die phpunit-Extension
bringt alles Wichtige mit
phpunit (TYPO3-Extension)
PHPUnit (PEAR-Paket)
Testing-Framework für FE & DB
Testrunner Testrunner
(Back-end- (Kommandozeilen-
Modul) Modul)
51. Der Continuous-Integration-Server
überwacht den Code
Checkin
k
-Hoo
Repository (SVN)
SVN
Hey, eine
Änderung!
Continuous-Integration-
Server
52. Der Continuous-Integration-Server
überwacht den Code
Checkin
k
-Hoo
Repository (SVN)
SVN
Hey, eine
Änderung!
Continuous-Integration- Unit-Tests
Server laufen lassen
53. Der Continuous-Integration-Server
überwacht den Code
Checkin
k
-Hoo
Repository (SVN)
SVN
Hey, eine
Änderung!
Continuous-Integration- Unit-Tests Bericht
Server laufen lassen
64. Extreme Programming
(XP) ständige kurze
Integration Iterationen
Pair Test-Driven
Refactoring
Programming Development
kollektives Coding- einfaches
Eigentum Standards Design
keine
Planning Game
Überstunden
65. Extreme Programming
(XP) ständige kurze
Integration Iterationen
Pair Test-Driven
Refactoring
Programming Development
kollektives Coding- einfaches
Eigentum Standards Design
Kunden keine
Planning Game
einbeziehen Überstunden
66. Das Testing-Framework
ist schnell gebaut
/**
* @var Tx_Phpunit_Framework
*/
protected $testingFramework;
public function setUp() {
$this->testingFramework = new Tx_Phpunit_Framework('tx_news2');
}
public function tearDown() {
$this->testingFramework->cleanUp();
unset($this->testingFramework);
}
67. Das Testing-Framework
ist schnell gebaut
/**
* @var Tx_Phpunit_Framework
*/
protected $testingFramework;
public function setUp() {
$this->testingFramework = new Tx_Phpunit_Framework('tx_news2');
}
FE beseitigen,
public function tearDown() {
Datensätze löschen,
$this->testingFramework->cleanUp();
unset($this->testingFramework);
Dateien löschen
}
68. Das Testing-Framework
ist schnell gebaut
/**
* @var Tx_Phpunit_Framework
*/
protected $testingFramework;
public function setUp() {
$this->testingFramework = new Tx_Phpunit_Framework('tx_news2');
}
FE beseitigen,
public function tearDown() {
Datensätze löschen,
$this->testingFramework->cleanUp();
unset($this->testingFramework);
Dateien löschen
}
CREATE TABLE tx_news2_domain_model_news (
…
is_dummy_record tinyint(1) unsigned DEFAULT '0' NOT NULL,
…
93. Das Testing-Framework alles faken
kann (fast)
$pageUid = $tf->createFakeFrontEnd($pageUid = 0);
94. Das Testing-Framework alles faken
kann (fast)
$pageUid = $tf->createFakeFrontEnd($pageUid = 0);
$tf->discardFakeFrontEnd();
95. Das Testing-Framework alles faken
kann (fast)
$pageUid = $tf->createFakeFrontEnd($pageUid = 0);
$tf->discardFakeFrontEnd();
$tf->loginFrontEndUser($userId);
96. Das Testing-Framework alles faken
kann (fast)
$pageUid = $tf->createFakeFrontEnd($pageUid = 0);
$tf->discardFakeFrontEnd();
$tf->loginFrontEndUser($userId);
$tf->logoutFrontEndUser();
97. Das Testing-Framework alles faken
kann (fast)
$pageUid = $tf->createFakeFrontEnd($pageUid = 0);
$tf->discardFakeFrontEnd();
$tf->loginFrontEndUser($userId);
$tf->logoutFrontEndUser();
$isLoggedIn = $tf->isLoggedIn();
98. Das Testing-Framework alles faken
kann (fast)
$pageUid = $tf->createFakeFrontEnd($pageUid = 0);
$tf->discardFakeFrontEnd();
$tf->loginFrontEndUser($userId);
$tf->logoutFrontEndUser();
$isLoggedIn = $tf->isLoggedIn();
$numberOfRecords = $tf->countRecords($tableName, $whereClause = '');
99. Das Testing-Framework alles faken
kann (fast)
$pageUid = $tf->createFakeFrontEnd($pageUid = 0);
$tf->discardFakeFrontEnd();
$tf->loginFrontEndUser($userId);
$tf->logoutFrontEndUser();
$isLoggedIn = $tf->isLoggedIn();
$numberOfRecords = $tf->countRecords($tableName, $whereClause = '');
$success = $tf->existsRecord($tableName, $whereClause = '');