euphoric Posted November 1, 2010 Report Share Posted November 1, 2010 Labs vakars! Sāku praktizēt ar PHPUnit, testu rakstīšanu un aizķēros. Varbūt kāds spēs palīdzēt =) Tātad vienkārš tests: add.php class Add { public function unit() { $test = "foo"; return $test; } } AddTest.php <?php require_once 'add.php'; /** * test case. */ class Test extends PHPUnit_Framework_TestCase { /** * Prepares the environment before running a test. */ protected function setUp() { parent::setUp (); // TODO Auto-generated Test::setUp() } public function testUnit() { $addClass = new Add(); $unitMethod = $addClass->unit(); $this->assertEquals('foo', $unitMethod); } /** * Cleans up the environment after running a test. */ protected function tearDown() { // TODO Auto-generated Test::tearDown() parent::tearDown (); } /** * Constructs the test case. */ public function __construct() { // TODO Auto-generated constructor } } Izpildās Lieliski =)) Bet, ja add.php ir ar extended, izmet Erroru un testu nepilda. class Add extends Controller { public function unit() { $test = "foo"; return $test; } } Error's izskatās šādi: "No test executed. Either a fatal error occurred, the launch was stopped manually or the script execution was halted with a 'die'/'exit' statement." Maybe, kāds ko var ieteikt? Pāldies :)) PS. Zend studio 7.1 ,PHPUnit v3.x Quote Link to comment Share on other sites More sharing options...
euphoric Posted November 1, 2010 Author Report Share Posted November 1, 2010 Browser Output rāda: "Fatal error: Class 'Controller' not found in add.php on line 3 " Tas ir CodeIgniter projekts, google'jot neko izņemot atsevišķas bibliotēkas priekš CI Unit Testiem neatradu. Šķiet tas būtu ļoti neērti, ja nākas lietot dažādus instrumentus Testēšanai, atkarībā no platformas uz kuras tiek viss celts. Domājams, tas tomēr ir realizējams ar PHPUnit. Būšu ļoti pateicīgs, ja kāds zinoš, pabakstītu =) Quote Link to comment Share on other sites More sharing options...
bubu Posted November 1, 2010 Report Share Posted November 1, 2010 Taisi citu jaunu klasi, kas nav atkarīga no Controller. Šo klasi tad arī notestē ar unit-testiem, un arī šo pašu klasi lieto sava kontroliera ietvaros. Quote Link to comment Share on other sites More sharing options...
v3rb0 Posted November 2, 2010 Report Share Posted November 2, 2010 (edited) mhm, unittestēšanai testējamo kodu jāsadala pa blokiem (unit'iem) ar pēc iespējas mazāk depenzijām. Unittestēšanas kontekstā palasies arī par mock un stub (lietas ar kurām aizstāt kādu lielu/lēnu testējamās vienības depenziju, piemēram konektēšanos pie kāda servera) Edited November 2, 2010 by v3rb0 Quote Link to comment Share on other sites More sharing options...
euphoric Posted November 2, 2010 Author Report Share Posted November 2, 2010 Oke, studēšu. Pāldies =) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.