[TYPO3-dev] Unit tests and method visibility
    Niels Pardon 
    mail at niels-pardon.de
       
    Mon Jul  6 10:26:03 CEST 2009
    
    
  
Hi Francois!
Francois Suter schrieb:
> A question about the suggestion that the class extends the class to
> test: as far as I could see, current TYPO3 core test all extend
> tx_phpunit_testcase. Will my test still work if I extend some other
> class instead?
I think you got that wrong.
class tx_foo_Bar {
  /**
   * Roasts a duck.
   *
   * @return tx_foo_Duck a well-roasted duck
   */
  protected function roastADuck() {
    ...
  }
}
and then in tests/fixtures/:
class tx_foo_TestingBar extends tx_foo_Bar {
  /**
   * Roasts a duck.
   *
   * @return tx_foo_Duck a well-roasted duck
   */
  public function roastADuck() {
    return parent::roastADuck();
  }
}
Then you create a testcase class in tests/ like this:
class tx_foo_TestingBar_testcase extends tx_phpunit_testcase {
  /**
   * @var tx_foo_TestingBar
   */
  private $fixture;
  public function setUp() {
    $this->fixture = new tx_foo_TestingBar();
  }
  public function tearDown() {
    unset($this->fixture);
  }
  /**
   * @test
   */
  public function roastADuckRoastsADuck() {
    $this->assertEquals(
      roastedDuck,
      $this->fixture->roastADuck()
    );
  }
}
    
    
More information about the TYPO3-dev
mailing list