2011-05-09 7 views
5

क्या कोई भी टीडीडी नोटेशन का उपयोग कर सिम्फनी 2 में विकसित करने के लिए एक मानक उदाहरण प्रदान कर सकता है? या टीडीडी Symfony2 विकास के लिए दिलचस्प सामग्री के लिंक साझा करें (आधिकारिक दस्तावेज को छोड़कर :))?symfony2 tdd विकास

पीएस क्या कोई एमवीसी पैटर्न के नियंत्रक भाग के लिए इकाई परीक्षण लिख रहा है?

उत्तर

10

मैंने अभी इसे silex के लिए किया है, जो सिम्फनी 2 पर आधारित माइक्रो-फ्रेमवर्क है। जो मैं समझता हूं उससे, यह बहुत समान है। मैं इसे सिम्फनी 2-दुनिया के प्राइमर के लिए अनुशंसा करता हूं।

मैं भी TDD इस्तेमाल किया इस आवेदन बनाने के लिए, मैं इतना क्या किया था:

  1. मैं मार्ग/कार्रवाई
  2. तब मैं अपने बूटस्ट्रैप में मार्ग कार्यान्वित सत्यापित करने के लिए मेरा पहला परीक्षण लिखा
  3. तब मैं अपने परीक्षण जैसे, क्या प्रदर्शित किया जाना चाहिए
  4. मैं कार्यान्वित करने के लिए दावे कहा कि मेरी कोड में और इतने पर

एक (tests/ExampleTestCase.php में) उदाहरण testcase इस तरह दिखता है:

<?php 
use Silex\WebTestCase; 
use Symfony\Component\HttpFoundation\SessionStorage\ArraySessionStorage; 

class ExampleTestCase extends WebTestCase 
{ 
    /** 
    * Necessary to make our application testable. 
    * 
    * @return Silex\Application 
    */ 
    public function createApplication() 
    { 
     return require __DIR__ . '/../bootstrap.php'; 
    } 

    /** 
    * Override NativeSessionStorage 
    * 
    * @return void 
    */ 
    public function setUp() 
    { 
     parent::setUp(); 
     $this->app['session.storage'] = $this->app->share(function() { 
      return new ArraySessionStorage(); 
     }); 
    } 

    /** 
    * Test/(home) 
    * 
    * @return void 
    */ 
    public function testHome() 
    { 
     $client = $this->createClient(); 
     $crawler = $client->request('GET', '/'); 

     $this->assertTrue($client->getResponse()->isOk()); 
    } 
} 

मेरी bootstrap.php:

<?php 
require_once __DIR__ . '/vendor/silex.phar'; 

$app = new Silex\Application(); 

// load session extensions 
$app->register(new Silex\Extension\SessionExtension()); 

$app->get('/home', function() use ($app) { 
    return "Hello World"; 
}); 
return $app; 

मेरे web/index.php:

<?php 
$app = require './../bootstrap.php'; 
$app->run(); 

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^