rezzza / atoum-bundle
此包已被废弃,不再维护。没有推荐替代包。
围绕 Atoum 单元测试框架的包
dev-master
2012-11-19 09:17 UTC
Requires
- php: >=5.3.3
- symfony/framework-bundle: 2.*
Suggests
- mageekguy/atoum: Use atoum with composer
This package is not auto-updated.
Last update: 2015-09-03 06:48:01 UTC
README
此包提供将 Atoum 单元测试框架(来自 mageekguy)集成到 Symfony2 的(非常)简单的方式。
安装
全部使用 composer 安装
{ "require": { "jedi/atoum-bundle": "dev-master", "mageekguy/atoum": "dev-master" }, "config": { "bin-dir": "bin" } }
Composer & Atoum Phar
{ "require": { "jedi/atoum-bundle": "dev-master" } }
下载 Atoum PHAR 存档。
简单用法
让您的测试类继承包中的 Tests\Units\Test
类。
不要忘记使用您喜欢的加载方式(require, autoload, ...)加载此类
<?php //if you don't use a bootstrap file, you need to require the autoload require __DIR__ . '/../../../../../../../vendor/autoload.php'; // use path of the atoum.phar as bello if you don't want to use atoum via composer //require_once __DIR__ . '/../../../../../vendor/mageekguy.atoum.phar'; use Jedi\AtoumBundle\Tests\Units; class helloWorld extends Units\Test { }
Web 测试用例
您可以轻松创建一个内核环境
<?php require __DIR__ . '/../../../../../../../vendor/autoload.php'; use Jedi\AtoumBundle\Tests\Units; class helloWorld extends Units\WebTestCase { public function testMyTralala() { $client = self::createClient(); } }
已知问题
- 找不到 AppKernel 的路径,重写
getKernelDirectory
方法并将路径添加到您的app
目录。
测试控制器
您可以使用 ControllerTest 类(它继承自 WebTestCase)来测试您的控制器。
<?php namespace vendor\FooBundle\Tests\Controller; use Jedi\AtoumBundle\Tests\Units\WebTestCase; use Jedi\AtoumBundle\Tests\Controller\ControllerTest; class BarController extends ControllerTest { //test a json api method public function testGet() { $client = static::createClient(); $crawler = $client->request('GET', '/api/foobar'); $response = $client->getResponse(); $this ->integer($response->getStatusCode()) ->isEqualTo(200) ->string($response->headers->get('Content-Type')) ->isEqualTo('application/json') ; } }