加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

symfony2 tdd开发

发布时间:2020-12-13 20:45:47 所属栏目:百科 来源:网络整理
导读:有谁能提供一个使用TDD表示法在Symfony2中进行开发的标准示例?或者分享有关TDD Symfony2开发的有趣材料的链接(官方文档:))? 附:是否有人为MVC模式的控制器部分编写单元测试? 我刚刚为 silex做了这个,这是一个基于Symfony2的微框架.据我所知,它非常相似.
有谁能提供一个使用TDD表示法在Symfony2中进行开发的标准示例?或者分享有关TDD Symfony2开发的有趣材料的链接(官方文档:))?

附:是否有人为MVC模式的控制器部分编写单元测试?

我刚刚为 silex做了这个,这是一个基于Symfony2的微框架.据我所知,它非常相似.我推荐它作为Symfony2世界的入门书.

我还使用TDD来创建这个应用程序,所以我做的是:

>我写了第一个测试来验证路线/动作
>然后我在我的bootstrap中实现了路由
>然后我在我的测试中添加了断言,例如,应该显示什么
>我在我的代码中实现了这一点,等等

示例测试用例(在tests / ExampleTestCase.php中)如下所示:

<?php
use SilexWebTestCase;
use SymfonyComponentHttpFoundationSessionStorageArraySessionStorage;

class ExampleTestCase extends WebTestCase
{
    /**
     * Necessary to make our application testable.
     *
     * @return SilexApplication
     */
    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 SilexApplication();

// load session extensions
$app->register(new SilexExtensionSessionExtension());

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

我的网站/ index.php:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读