当前位置: 首页 > 知识库问答 >
问题:

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

谷梁裕
2023-03-14

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

我为测试类中的每个测试加载特定于测试的固定装置,并且不愿意显式地这样做。理想情况下,我希望在setUp()方法中自动处理此问题。

如果setUp()方法使测试类名和测试方法名可用,则可以执行此操作。

setUp()方法中,将要运行的测试类和方法的名称是否对我可用?

共有2个答案

江正德
2023-03-14

或者,如果您不想在edorian的答案中显示字符串(10)部分,您可以这样做:

protected function setUp()
{
    echo $this->getName() . "\n";
}
柳晔
2023-03-14

实现这一点的最简单方法应该是调用$this-

<?php

class MyTest extends PHPUnit_Framework_TestCase
{
    public function setUp() {
        var_dump($this->getName());
    }


    public function testMethod()
    {
        $this->assertEquals(4,2+2,'OK1');
    }
}

和运行:

phpunit MyTest.php 

生产:

PHPUnit 3.7.1 by Sebastian Bergmann.

.string(10) "testMethod"


Time: 0 seconds, Memory: 5.00Mb

OK (1 test, 1 assertion)

总的来说,我建议不要这样做,但肯定有这样做的好方法。

其他选择是拥有多个测试类,并将所有使用相同夹具的测试放在一个类中。

另一种方法是使用私有设置帮助程序,并从测试用例中调用适当的设置帮助程序。

 类似资料:
  • 我正在学习如何在PHPUnit中进行测试,我想知道在命名PHPUnit测试方法时是否有“最佳实践”。它们的名称是否应该与正在测试的方法相同?例如这种方法 命名 或者名称应该更具描述性?

  • 问题内容: python中是否有一种方法可以让pyunit测试输出当前正在运行的测试。例: 问题答案: 您可以使用。这是从父类继承的。

  • 问题内容: 如何从该类的静态方法获取该类的名称。例如 为了把它放在上下文中,我实际上想返回类名,作为异常中消息的一部分。 问题答案: 为了支持正确的重构(重命名类),则应使用以下任一方法: 或(感谢):

  • 我有以下类(请注意,方法是静态的): 当我打电话的时候: 我想得到输出:

  • 问题内容: 在我的Android应用程序,我需要和从当我得到执行命令后的结果。我怎样才能做到这一点? 问题答案: 就这么简单(是您的对象,应该在数据库中将其设置为正确的表名):

  • 本文向大家介绍PHPUnit测试私有属性和方法功能示例,包括了PHPUnit测试私有属性和方法功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHPUnit测试私有属性和方法功能。分享给大家供大家参考,具体如下: 一、测试类中的私有方法: 上面只是简单的写了一个类包含,一个私有变量和一个私有方法。对于protected和private方法,由于无法像是用public方法一样直接调用