如何在PHPUnit中编写单元测试

如何在PHPUnit中编写单元测试,phpunit,laravel,laravel-4,Phpunit,Laravel,Laravel 4,我正在编写一个简单的库,可以在我的一些项目中重用。目前,它只是将一些“愚蠢”的角色换成他们聪明的对等角色。无论如何,我安装了一个新的laravel 4实例,然后运行了php artisan workbench jonnybarnes/dumbquotes。然后我在DumbquotesParser.php中编写了一些代码。当前位于LARAVEL/workbench/jonnybarnes/dumbquotes/src/jonnybarnes/dumbquotes/dumbquotes/Dumbqu

我正在编写一个简单的库,可以在我的一些项目中重用。目前,它只是将一些“愚蠢”的角色换成他们聪明的对等角色。无论如何,我安装了一个新的laravel 4实例,然后运行了
php artisan workbench jonnybarnes/dumbquotes
。然后我在
DumbquotesParser.php
中编写了一些代码。当前位于
LARAVEL/workbench/jonnybarnes/dumbquotes/src/jonnybarnes/dumbquotes/dumbquotes/DumbquotesParser.php
。因此,我在提供的测试文件夹中为此创建了一个测试文件:

<?php

require __DIR__.'/../src/Jonnybarnes/Dumbquotes/DumbquotesParser.php';

class DumbquotesParserTest extends PHPUnit_Framework_TestCase {
    public function testApostrophe()
    {
        $actual = DumbquotesParser::apostrophe('We\'re testing Jonny\'s apotrophes\' form');
        $expected = 'We’re testing Jonny’s apostrophes’ form';

        $this->assertEquals($actual, $excpected);
    }
}
那么我如何才能真正加载解析器呢

将我的测试文件更改为使测试正常工作:

<?php

require __DIR__.'/../src/Jonnybarnes/Dumbquotes/DumbquotesParser.php';


class DumbquotesParserTest extends PHPUnit_Framework_TestCase {
    public function testApostrophe()
    {
        $parser = new \Jonnybarnes\Dumbquotes\DumbquotesParser();
        $actual = $parser->apostrophe('We\'re testing Jonny\'s apostrophes\' form');
        $expected = 'We’re testing Jonny’s apostrophes’ form';

        $this->assertEquals($actual, $expected);
    }
}

您还可以像这样将名称空间类导入全局名称空间(就在include之后):

然后,您可以忘记
setUp()
方法(因为您在这里只是测试一个静态方法),并保留最初发布的实际测试代码:

$actual = DumbquotesParser::apostrophe('We\'re testing Jonny\'s apotrophes\' form');

下次,只需使用正常机制添加您自己的答案,不要更改标题。
use Jonnybarnes\Dumbquotes\DumbquotesParser;
$actual = DumbquotesParser::apostrophe('We\'re testing Jonny\'s apotrophes\' form');