【问题标题】:PHPUnit setup and tearDown for test cases测试用例的 PHPUnit 设置和拆卸
【发布时间】:2013-12-28 18:11:30
【问题描述】:

PHPUnit 具有setuptearDown 事件,分别在测试用例中的每个测试之前和之后运行。在我的特定场景中,我还想运行testCaseSetuptestCaseTearDown 之类的东西。这可能吗?

当前的解决方案如下所示:

<?php

class MyTestCase extends \PHPUnit_Framework_TestCase
{

    public function __construct($name = NULL, array $data = array(), $dataName = '')
    {
        // My test case setup logic
        parent::__construct($name, $data, $dataName);
    }

    public function __destruct()
    {
        // My test case tear down logic
    }
}

但由于以下原因,它似乎远非最佳:

  • 我必须重新声明PHPUnit_Framework_TestCase 构造并重定向所有参数。如果 PHPUnit 构造函数在版本更新时发生更改,我的测试用例将停止。
  • 可能PHPUnit_Framework_TestCase 没有被声明为这样使用。

我想知道是否有更好的解决方案。有什么想法吗?

【问题讨论】:

    标签: unit-testing phpunit


    【解决方案1】:

    是的,有一些特殊的方法可以达到这个目的:setUpBeforeClasstearDownAfterClass

    class TemplateMethodsTest extends PHPUnit_Framework_TestCase
    {
        public static function setUpBeforeClass()
        {
            // do sth before the first test
        } 
    
        public static function tearDownAfterClass()
        {
            // do sth after the last test
        } 
    

    【讨论】:

    • 伙计,我搜索了所有文档但找不到。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多