【问题标题】:Running PHPUnit tests Yii Framework运行 PHPUnit 测试 Yii 框架
【发布时间】:2011-12-16 21:21:54
【问题描述】:

在我的 Yii 应用程序中运行单元测试有哪些可能性?

到目前为止,我一直在这样测试它们:

打开命令提示符

> cd C:\WHEREVER MY APP IS\protected\tests

> phpunit unit/TestingTest.php

现在,我想知道是否还有其他方法。可以这么说,我是测试世界的新手,但在我看来,肯定有比一个接一个地运行所有测试更好的方法。感谢您的任何提示,我确定这个问题很愚蠢!但也许事实证明它对其他人有帮助。

编辑 (基于@David Harkness 评论) 好的,所以现在我知道当我这样做时

phpunit C:\WHEREVER MY APP IS\protected\tests\unit

我的 TestingTest.php 文件中的所有测试都已执行。我现在的问题是,在那个单元文件夹中,我有两个文件,TestingTest.php 和 TestingTest2.php Testing2Test.php。仅执行第一个中的测试。有什么想法吗?

【问题讨论】:

  • 您是否尝试过在该目录中运行phpunit 而不指定文件?这就是我为非 Yii 项目所做的事情,我无法想象 Yii 会有什么不同。
  • @David Harkness,编辑了我的问题!
  • 我们写了一篇关于如何使用 Yii 运行自动化 PHP 单元测试的博文。见:geeks.appbackr.com/61971101

标签: unit-testing phpunit yii


【解决方案1】:

PHPUnit 默认会扫描所有名为<foo>Test.php 的文件。这意味着TestingTest2.php 将被忽略。您可以将文件重命名为Testing2Test.php,使用

phpunit C:\WHEREVER MY APP IS\protected\tests\unit\*.php

找到文件(虽然不确定这是否有效),或者创建一个phpunit.xml configuration file 指定必须与您的测试匹配的文件名模式。但是,只需重命名它,使所有文件都以Test.php 结尾,您会更开心。

我通常总是将cd 放入根测试目录——包含bootstrap.phpphpunit.xml 的目录。这样我就不必告诉 PHPUnit 如何找到这些文件,因为它总是在当前目录中查找。

【讨论】:

  • 这正是我的问题!约定优于配置!谢谢@大卫!!
  • 您可以从项目的根文件夹运行它,选项-c protected\tests 告诉配置路径。要运行所有单元测试,phpunit -c protected\tests protected\tests\unit
猜你喜欢
  • 2012-03-22
  • 2014-05-26
  • 2012-04-09
  • 2013-08-03
  • 2012-08-21
  • 2013-05-30
  • 1970-01-01
  • 2019-11-10
  • 2012-05-21
相关资源
最近更新 更多