三默的专栏 - SaaS,敏捷开发方法,最佳实践

单元测试 自动测试 测试驱动开发

用户操作
[即时聊天] [发私信] [加为好友]
三默ID:summerfang
91990次访问,排名1132,好友0人,关注者0人。
summerfang的文章
原创 12 篇
翻译 13 篇
转载 5 篇
评论 32 篇
三默的公告
>>喜欢我的文章就收藏<<
我喜欢的照片软件:
最近评论
blueice421:感谢作者的金玉良言,实在是受教了。代表办公家具谢谢你!
sap99:www.sap99.com/,SAP99资料多多

SAP免费资料下载
http://www.sap99.com

有很多的学习资料,推荐一下,
carry1002:你好,我是猎头公司carry,我们服务的对象主要是世界500强企业,现在有thougthtworks公司的职位机会,TW是敏捷方法领域的领头羊,有兴趣的朋友请和我联系,我的msn:carry.1@hotmail.com
weblogic2009:想象而已. (开源的可视化自定义web表单工具,在: http://my5155.meibu.com )
weblogic2009:想象而已. (开源的可视化自定义web表单工具,在: http://my5155.meibu.com )
文章分类
收藏
    相册
    PHPUnit
    随笔
    友情链接
    [1]草莓佳佳和苹果妈妈
    [2]hanshan的个人门户
    [3]软件测试和质量专栏
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    翻译 PHPUnit袖珍指南 第八章 未完成测试收藏

    新一篇: PHPUnit袖珍指南 第九章 测试优先编程 | 旧一篇: PHPUnit袖珍指南 第七章 测试异常和性能回归

    第八章 未完成测试

    当开始书写新的测试用例类时,你也许想要从空的测试方法开始,譬如:

           public function testSomething( ) {

           }

    我们必须跟踪书写的每个测试。空测试方法的问题是,它们被PHPUnit 框架解释作执行成功。这样产生的测试报告是没有用的。您不能区分测试实际上是成功了或是未完成。在未完成的测试方法中调用$this->fail()也不行,因为这被解释作为失败。这和未完成测试被错误解释成功一样糟糕。

    如果我们认为一个成功的测试可以亮绿灯,测试失败亮红灯,那我们就需要黄灯来标记测试未完成。PHPUnit2 _ Framework_IncompleteTest是这个标志的接口,标记测试方法抛出的测试未完成或当前未完成的异常。PHPUnit2_Framework_IncompleteTestError 是这个接口的标准实现。

    9显示了测试用例类SampleTest包含了一个测试方法testSomething(),通过抛出PHPUnit2 _ Framework_IncompleteTestError异常,我们将此测试标为未完成测试。

    9.将测试标记为未完成

    <?php

    require_once 'PHPUnit2/Framework/TestCase.php';

    require_once 'PHPUnit2/Framework/IncompleteTestError.php';

     

    class SampleTest extends PHPUnit2_Framework_TestCase {

    public function testSomething( ) {

            // Optional: Test anything here, if you want.

            $this->assertTrue(TRUE, 'This should already work.');

     

            // Stop here and mark this test as incomplete.

            // You could use any Exception which implements the

            // PHPUnit2_Framework_IncompleteTest interface.

            throw new PHPUnit2_Framework_IncompleteTestError(

         'This test has not been implemented yet.'

        );

    }

    }

    ?>

     

    An incomplete test is denoted by an I in the output of the PHPUnit command-line test runner, as shown in the following example:

    一个未完成的测试在PHPUnit 命令行测试器中由I 表示,如下例所示:

    phpunit SampleTest

    PHPUnit 2.3.0 by Sebastian Bergmann.

     

    I

     

    Time: 0.006657

    There was 1 incomplete test case:

    1) testSomething(SampleTest)

    This test has not been implemented yet.

     

    OK, but incomplete test cases!!!

    Tests run: 1, incomplete test cases: 1.

     

    --------------------------------------------------------------------------------------------------------------------

    原文:

    Chapter 8. Incomplete Tests

    When you are working on a new test-case class, you might want to begin by writing empty test methods, such as:

     

        public function testSomething( ) {

        }

     

     

     

    to keep track of the tests that you have to write. The problem with empty test methods is that they are interpreted as a success by the PHPUnit framework. This misinterpretation leads to the test reports being uselessyou cannot see whether a test is actually successful or just not yet implemented. Calling $this->fail( ) in the unimplemented test method does not help either because then the test will be interpreted as a failure. This would be just as wrong as interpreting an unimplemented test as a success.

     

    If we think of a successful test as a green light, and a test failure as a red light, we need an additional yellow light to mark a test as being incomplete or not yet implemented. PHPUnit2_ Framework_IncompleteTest is a marker interface for marking an exception that is raised by a test method as the result of the test being incomplete or not currently implemented. PHPUnit2_Framework_IncompleteTestError is the standard implementation of this interface.

     

    Example 9 shows a test-case class, SampleTest, that contains one test method, testSomething( ). By raising the PHPUnit2_ Framework_IncompleteTestError exception in the test method, we mark the test as being incomplete.

     

    Example 9. Marking a test as incomplete

    <?php

    require_once 'PHPUnit2/Framework/TestCase.php';

    require_once 'PHPUnit2/Framework/IncompleteTestError.php';

     

    class SampleTest extends PHPUnit2_Framework_TestCase {

        public function testSomething( ) {

           // Optional: Test anything here, if you want.

           $this->assertTrue(TRUE, 'This should already work.');

     

           // Stop here and mark this test as incomplete.

           // You could use any Exception which implements the

           // PHPUnit2_Framework_IncompleteTest interface.

           throw new PHPUnit2_Framework_IncompleteTestError(

         'This test has not been implemented yet.'

        );

        }

    }

    ?>

     

     

     

    An incomplete test is denoted by an I in the output of the PHPUnit command-line test runner, as shown in the following example:

     

        phpunit SampleTest

        PHPUnit 2.3.0 by Sebastian Bergmann.

     

        I

     

        Time: 0.006657

        There was 1 incomplete test case:

        1) testSomething(SampleTest)

        This test has not been implemented yet.

     

        OK, but incomplete test cases!!!

        Tests run: 1, incomplete test cases: 1.

     

    发表于 @ 2006年05月25日 21:06:00|评论(loading...)|编辑

    新一篇: PHPUnit袖珍指南 第九章 测试优先编程 | 旧一篇: PHPUnit袖珍指南 第七章 测试异常和性能回归

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 三默