Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Testowanie, Testowanie - dostep do metod prywatncyh i chronionych
mikowski
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 7.03.2007

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


Witam,
Aktualnie zajmuje się testowaniem pewnej klasy i natknąłem się przy tym na pewien problem. A mianowicie jak przetestować metody "private" i "protected".
Z metodami "protected" jest mniejszy problem gdyż jest możliwość utworzenia klasy pochodnej i upublicznienia interfejsu klasy bazowej do testów, czyli :

  1. <?php
  2. class Example {
  3.    protected function methodTest() {
  4.        return false;
  5.    }
  6. }
  7.  
  8. class ExampleExtension extends Example {
  9.    
  10.    public function methodTest() {
  11.        return parent::methodTest();        
  12.    }
  13. }
  14.  
  15. class ExampleTestCase extends PHPUnit_Framework_TestCase {
  16.    protected $_exaple = null;
  17.    
  18.    protected function setUp()
  19.    {      
  20.        $this->_exaple = new ExampleExtension();
  21.        
  22.        parent::setUp();
  23.    }
  24.    
  25.    protected function tearDown()
  26.    {
  27.        $this->_exaple = null;
  28.        
  29.        parent::tearDown ();
  30.    }
  31.    
  32.    public function testMethodTestIsFalse() {
  33.        $this->assertFalse($this->_exaple->methodTest());
  34.    }
  35. }
  36. ?>


Nie ma wiec problemu. A co w przypadku gdy chcemy testować metodę "private". questionmark.gif Próbowałem dostać się do składowych poprzez Reflection API, ale niestety i ono ma ograniczone pole działania :/ konstrukcje z getClosure() działają tylko z metodami statycznymi.
Pozdrawiam
Go to the top of the page
+Quote Post

Posty w temacie


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: 20.08.2025 - 10:14