配置PHPUnit的文件名

时间:2012-01-18 19:08:59

标签: php unit-testing configuration phpunit

我是PHPUnit的新用户,我将现有的测试(断言)转换为PHPUnit框架,以提供更好的测试环境和代码覆盖率。但是,我需要知道如何尝试让PHPUnit使用我们的测试代码结构。

我们的项目目录类似于以下内容:
申请1 /
CREDIT_CARD.class - CREDIT_CARD的类命名约定
CREDIT_CARD.class.test - CREDIT_CARD.class的自动测试 File.php - 应用程序文件
File.php.test - File.php的自动测试
File2.php
File2.php.test - File2.php的自动测试

申请2 /
ANOTHER_CLASS.class
ANOTHER_CLASS.class.test
DifferentFile.php - 申请文件
DifferentFile.php.test - File.php的自动测试

lib /
UTIL /
SHARED_CLASS.class
SHARED_CLASS.class.test
VISUAL /
VISUAL_TOOL.class
VISUAL_TOOL.class.test

我需要知道如何配置PHPUnit测试,以便我可以在lib / UTIL / .test(使用setUp()方法加载类文件)然后使用lib / VC / 运行测试。通过Application1和Application2测试进行测试,跟随(如果成功)。我看到提到了一个PHPUnit_xml文件和一个bootstrap文件,但我找不到一个参考模板,看看这些是否是我需要的。任何帮助,将不胜感激。

我知道文档是指文件名的test.php添加,但我希望不必更改我们的结构和命名约定,因为我希望能够运行混合的文件,直到它们是全部转换为PHPUnit框架。更改名称将导致我们公司的程序更改和开发人员的培训,我正在努力避免。

提前感谢您的任何帮助。

1 个答案:

答案 0 :(得分:7)

所以您有名为Foo.class.test的文件而不是PHPUnit默认FooTest.php

这应该不是一个大问题,因为PHPUnit允许您配置哪些文件后缀被视为“测试”。 Test.php只是默认值。

查看xml config part of the docs regard test organisation

你想要的是:

 <testsuites>
    <testsuite name="Our new shiny phpunit test Suite">
      <directory suffix=".test">./sourceFolder</directory>
    </testsuite>
  </testsuites>

然后,PHPUnit将扫描源文件夹,包括以.class.test结尾的所有文件,并保留其他文件。