小编edo*_*ian的帖子

PHP为所有测试套件提供不同的bootstrap

<phpunit backupGlobals="false" colors="true">
    <testsuite name="app1" >
        <directory>./app1</directory>
    </testsuite>
    <testsuite name="app1" >
        <directory>./app2</directory>
    </testsuite>
</phpunit>
Run Code Online (Sandbox Code Playgroud)

我如何使第一和第二testuite加载不同的bootstraps?

php phpunit

18
推荐指数
3
解决办法
8160
查看次数

PHPUnit:单个测试中的多个断言,只见第一次失败

我在PHPUnit中看到的下一个奇怪之处:

class DummyTest extends PHPUnit_Framework_TestCase {
    public function testDummy() {
        $this->assertTrue(false, 'assert1');
        $this->assertTrue(false, 'assert2');
    }

    public function testDummy2() {
        $this->assertTrue(false, 'assert3');
    }
}
Run Code Online (Sandbox Code Playgroud)

一旦第一个断言在测试中失败,则忽略测试的其余部分.

所以(通过简单调用phpunit DummyTest.php):

  • 上面的代码将显示2个测试, 2个断言,2个失败.什么?

  • 如果我通过所有测试,那么我会好的(2个测试,3个断言).好.

  • 如果我只通过除assert2之外的所有测试,我得到2个测试,3个断言,1个失败.好.

我不明白,但是PHPUnit已经存在了很长时间,当然它必须是我吗?

计数不仅不是我期望的,而且只显示上面代码中第一个失败断言的错误消息.

(顺便说一句,我正在分析PHPUnit为CI生成的xml格式,而不是测试实际代码,因此在一次测试中实现了多个断言.)

php phpunit

17
推荐指数
2
解决办法
9895
查看次数

PHPUnit:从setUp()获取测试类和方法的名称?

PHPUnit setUp()在运行特定测试之前运行测试类的方法.

我为测试类中的每个测试加载特定于测试的灯具,并且不希望明确地这样做.理想情况下,我希望在setUp()方法中自动处理这个问题.

如果该setUp()方法提供测试类名称和测试方法名称,则可以执行此操作.

是否可以在方法中使用测试类和方法的名称setUp()

php phpunit

15
推荐指数
1
解决办法
6709
查看次数

如何通过PEAR安装phpunit后获得phpunit.bat?

我需要一个phpunit.bat来配置我的NetBeans IDE.

我正在使用wamp,我只是使用这些说明通过pear安装phpunit:

在开始使用PEAR之前,通过从http://pear.php.net/go-pear.phar下载最后一个go-pear进行更新并将其保存到:C:\ wamp\bin\php\php5.3.3\PEAR

然后:

cd C:\wamp\bin\php\php5.3.0>
php -d phar.require_hash=0 PEAR/go-pear.phar
pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear channel-discover pear.symfony-project.com
pear install phpunit/PHPUnit
Run Code Online (Sandbox Code Playgroud)

在那之后,我找不到任何phpunit.bat或phpunit.php

如何通过PEAR安装phpunit后获得phpunit.bat(或任何CLI)?

php pear phpunit netbeans

14
推荐指数
1
解决办法
6603
查看次数

使用PHPUnit测试RESTful Web服务

谁能告诉我如何使用PHPUnit测试RESTful Web服务?PHPUnit似乎没有这种能力.

php rest phpunit

14
推荐指数
1
解决办法
9205
查看次数

在PHPUnit中重新运行上次失败的测试

--stop-on-failure当其中一个测试失败时,您可以使用flag来打破单元测试.

有没有办法快速告诉PHPUnit重新运行此失败的测试,而是手动提供完整路径?

php phpunit unit-testing

14
推荐指数
2
解决办法
3281
查看次数

使用数据库进行Phpunit测试

我正在尝试使用PHPunit关注单元测试.

我在这里找到了一个非常好的教程http://blog.nickbelhomme.com/php/phpunit-training-course-for-free_282

但是有些东西我想念并且还不知道该怎么做.

我有一个用户模块,它维护有关用户的所有信息.还有一个功能保存功能可以将用户保存在数据库中.所以我有一个testFunction

public function testCanCreateUser()
{
    $userData = array(
        'userName'  =>  'User1',
        'firstName' =>  'Joey',
        'lastName'  =>  'Hendricks',
        'email'     =>  'Joey@hendricks.com',
        'password'  =>  'f$tfe8F'

    ); 
    $user = new Model_User($userData);
    $user->save();

}
Run Code Online (Sandbox Code Playgroud)

我将第一次参加我的测试.由于数据库是空的.但是当我第二次运行我的测试时它将无法工作,因为我的系统不允许同一个用户在数据库中两次.所以为了做到这一点,我必须在每次运行测试之前重新创建我的testdatabase.做这个的最好方式是什么?或者这个问题是以不同的方式解决的吗?

TNX.

php phpunit unit-testing zend-framework

13
推荐指数
2
解决办法
2万
查看次数

将PHPT测试用例与PHPUnit集成

如何让PHPUnit运行我的PHPT测试用例并将通过/失败状态集成到整体指标中?我已经知道如何使用run-phpt命令行运行这些测试,但我希望在PHPUnit中使用其他测试运行它们.

我知道PHPUnit_Extensions_PhptTestCase存在,但我找不到任何关于如何使用它的样本.

php phpunit phpt

13
推荐指数
1
解决办法
1838
查看次数

在phpunit测试中回显

我一直试图echo填写我的phpunit测试但到目前为止没有运气.

我阅读了有关xml配置文件的文档,显然debug参数是我正在寻找的.不幸的是它仍然无效.无论如何这是我的xml配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<phpunit colors="true"
         processIsolation="true"
         verbose="true"
         debug="true">
</phpunit> 
Run Code Online (Sandbox Code Playgroud)

这两个processIsolationverbose被接受,但debug并非如此.

当我直接将它传递给phpunit时,该命令实际上工作得很好:

phpunit --debug MyTest.php # here stuff is echoed correctly
Run Code Online (Sandbox Code Playgroud)

但是使用xml配置文件看起来它被忽略了.

php phpunit

13
推荐指数
1
解决办法
2万
查看次数

如何为php代码嗅探器调用自定义ruleset.xml

我正在尝试为php代码嗅探器编写自定义ruleset.xml,但是从命令行调用它而不将其放在默认文件夹中似乎不起作用.

由于文件似乎陈述,否则我想问我在这里做错了什么

:~/$ phpcs --standard=/home/edo/custom_ruleset.xml source/
===>
ERROR: the "/home/edo/custom_ruleset.xml" coding standard is not installed.
The installed coding standards are PEAR, PHPCS, Zend, Squiz and MySource
Run Code Online (Sandbox Code Playgroud)

如果这不起作用:有关如何使用您的来源发送您自己的编码标准的任何建议?谢谢

php phpundercontrol codesniffer

12
推荐指数
1
解决办法
8245
查看次数