5
任何人都可以提供一個使用TDD符號在Symfony2中開發的標準示例嗎?或者分享鏈接到TDD Symfony2開發的有趣材料(官方文檔除外:))?symfony2 tdd開發
P.S.是否有人爲MVC模式的控制器部分編寫單元測試?
任何人都可以提供一個使用TDD符號在Symfony2中開發的標準示例嗎?或者分享鏈接到TDD Symfony2開發的有趣材料(官方文檔除外:))?symfony2 tdd開發
P.S.是否有人爲MVC模式的控制器部分編寫單元測試?
我剛剛做了silex,這是一個基於Symfony2的微型框架。據我所知,它非常相似。我會推薦它用於Symfony2世界的入門。
我也用TDD來創建此應用程序,所以我所做的就是:
的例如測試用例(在tests/ExampleTestCase.php
)看起來是這樣的:
<?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();