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

PHPUnit运行过程

百里默
2023-03-14

关于phpunit如何运行测试,我有几个问题。假设我有一个包含3个测试方法的类,以及一个setUp()和tearDown()方法。

当我运行phpunit时,它是如何运行测试的?

>

  • 它是否初始化类一次,然后运行setUp(),然后运行test方法,然后运行tearDown(),然后对第二个方法重复上述步骤,依此类推,或者

    每次运行每个测试方法时,它都会实例化该类

    该程序是否有文档记录?

    谢啦

  • 共有1个答案

    吕鹏
    2023-03-14

    我认为提及以下两者之间的区别将是有益的:

    >

  • setUp()在每个测试用例之前调用此方法,这意味着每个测试类可以调用此方法几次。

    setUpBeforeClass()方法每个类只执行一次,甚至在构造对象之前,这就是为什么它被标记为静态公共函数的原因。

    以上2种方法可以在我们正在使用的大多数单元测试中找到。

    tearDownAfterClass和tearDown()之间的区别类似,在每个测试用例之后调用tearDown()方法,在类中的所有测试完成之后调用tearDownAfterClass()方法,在调用最后一个tearDown()方法之后调用。

    类实例化一次,然后所有测试方法都在这个实例上运行。

  •  类似资料:
    • 我有一个运行selenium phpunit测试的ant构建脚本。我可以在命令行上运行构建脚本,然后看到测试正在进行,浏览器窗口打开,并且selenium测试正在执行。命令行上一切正常。 但是,如果我得到创建一个jenkins jobs来运行构建脚本。它在尝试运行phpunit任务时失败。这是控制台输出。 看起来,当jenkins运行构建时,它不能访问Selenium。请参阅“访问被拒绝”和“网页

    • 我读过laravel 5.5留档为unittest。据说我们只需要执行phpUnit{如https://laravel.com/docs/5.5/testing}然后我尝试了这个:如何使用phpUnit运行单个测试方法? 但据说“无法打开文件”。然后我尝试了phpunitexampletest,但仍然无法打开该文件。那么这里怎么了。。。?提前谢谢

    • 问题内容: 我试图为不可能进行大量代码更改的应用程序编写单元测试。代码库中几乎所有的.php文件都使用一些$ _SERVER [‘’]变量,例如 因此,现在当我不得不编写和运行PHPUnit测试用例时,必须以某种方式设置这些变量。目前,我正在用户环境中设置这些变量,然后执行 这样获取服务器变量工作正常。我通过命令行以方式运行测试。 Ques1: 通过命令行运行phpunit测试时,是否可以设置$

    • 我已经了解了如何使用phpunit运行单一测试方法? 我在应用过滤器方面没有问题,例如,,但是我希望能够在一个命令行中检查许多测试文件,例如,,但这不起作用。 有没有办法从命令行执行此操作?

    • 作为一名测试人员,我希望通过使用PHPUnit来测试代码的安全性和可靠性。 目前,PHPUnit只通过了11项测试中的第一项。然后它放弃其余的测试,没有消息。 我尝试过的: 删除PHPUnit,清除我的缓存(),并重新安装PHPUnit() 确保每个测试文档字符串中都有 使用\test[a-zA-Z]\作为函数名 使用phpunit--filter[未运行的测试的名称] 将PHPUnit从v8.4

    • 在Eclipse PDT中运行PHPUnit测试时,右键单击test文件夹并选择run As>PHPUnit Testm 生成此错误: 我导航到Eclipse日志文件,找到了以下文本: Eclipse.buildid=4.8.0.i20180611-0500 参数:-product org.eclipse.epp.package.php.product命令行 参数:-OS win32-WS win