Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem ze zrozumioeniem fragmentu książki:"PHP5 Profesfonalne tworzenie oprogramowania"
S_Olewniczak
post
Post #1





Grupa: Zarejestrowani
Postów: 189
Pomógł: 1
Dołączył: 28.01.2008

Ostrzeżenie: (0%)
-----


Podstawy PHP znam, ale natknąłem się w książce wymienionej w temacie na fragment kodu źródłowego, którego nijak mogę zrozumieć:

Testy_Projektu_Pakiet_WszystkieTesty.php:

  1.  
  2. <?php
  3. if (!defined('PHPUnit2_MAIN_METHOD')) {
  4. 'PHPUnit2_MAIN_METHOD',
  5. 'Testy_Projektu_Pakiet_WszystkieTesty::main'
  6. );
  7. }
  8.  
  9. require_once 'PHPUnit2/Framework/TestSuite.php';
  10. require_once 'PHPUnit2/TextUI/TestRunner.php';
  11.  
  12. require_once 'Projekt/Tests/Paket/Klasa.php';
  13.  
  14. class Testy_Projektu_Pakiet_WszystkieTesty {
  15. public static function main() {
  16. PHPUnit2_TextUI_TestRunner::run(self::suite());
  17. }
  18.  
  19. public static function suite() {
  20. $suite = new PHPUnit2_Framework_TestSuite(
  21. 'Projekt / Pakiet'
  22. );
  23.  
  24. $suite->addTestSuite('Testy_Projektu_Pakiet_WszystkieTesty');
  25.  
  26. return $suite;
  27. }
  28. }
  29.  
  30. if (PHPUnit2_MAIN_METHOD ==
  31. 'Testy_Projektu_Pakiet_WszystkieTesty::main') {
  32. Testy_Projektu_Pakiet_WszystkieTesty::main();
  33. }
  34. ?>
  35.  
  36.  


Testy_Projektu_WszystkieTesty.php:

  1.  
  2. <?php
  3. if (!defined('PHPUnit2_MAIN_METHOD')) {
  4. 'PHPUnit2_MAIN_METHOD',
  5. 'Testy_Projektu_WszystkieTesty::main'
  6. );
  7. }
  8.  
  9. require_once 'PHPUnit2/Framework/TestSuite.php';
  10. require_once 'PHPUnit2/TextUI/TestRunner.php';
  11.  
  12. require_once 'Projekt/Testy/Pakiet/WszystkieTesty.php';
  13.  
  14. class Testy_Projektu_WszystkieTesty {
  15. public static function main() {
  16. PHPUnit2_TextUI_TestRunner::run(self::suite());
  17. }
  18.  
  19. public static function suite() {
  20. $suite = new PHPUnit2_Framework_TestSuite('Projekt');
  21.  
  22. $suite->addTest(Testy_Projektu_WszystkieTesty::suite());
  23.  
  24. return $suite;
  25. }
  26. }
  27.  
  28. if (PHPUnit2_MAIN_METHOD ==
  29. 'Testy_Projektu_WszystkieTesty::main') {
  30. Testy_Projektu_WszystkieTesty::main();
  31. }
  32. ?>
  33.  
  34.  


Testy_Projektu_Pakiet_Klasa.php:

  1.  
  2. <?php
  3. require_once 'PHPUnit2/Framework/TestCase.php';
  4.  
  5. require_once 'Projekt/Pakiet/Klasa.php';
  6.  
  7. class Testy_Projektu_Pakiet_Klasa
  8. extends PHPUnit2_Framework_TestCase {
  9. public function testMethode() {
  10. $t = new Projekt_Pakiet_Klasa;
  11. $this->assertTrue($t->metoda('test'));
  12. }
  13.  
  14. // ...
  15. }
  16. ?>
  17.  
  18.  


Czy ktoś bardziej doświadczony może mi go wytłumaczyć?

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no ale czego konkretnie z tego nie rozumiesz?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
S_Olewniczak
post
Post #3





Grupa: Zarejestrowani
Postów: 189
Pomógł: 1
Dołączył: 28.01.2008

Ostrzeżenie: (0%)
-----


O co chodzi ze stałą PHPUnit2_MAIN_METHOD i statyczną metodą main()?
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A o co ma chodzic? Ktos zdefiniował taką stałą i nadał jej wartość jaką nadał. Przepraszam, ale co tu rozumiec?
A juz tak konkretniej: w stałej PHPUnit2_MAIN_METHOD określono, ze główną metodą jest metoda main() - wnioskuje to po całości kodu


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Zyx
post
Post #5





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


Chodzi o to, by móc uruchomić zarówno cały zestaw testowy, jak i też jego fragment. Zależnie od tego, co chcesz zrobić, musisz odpalić inną metodę w hierarchii testów i to podaje właśnie wspomniana stała. A statyczny main jest odpalany celem uruchomienia danego fragmentu testów.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 10:14