配置PHPUnit的文件名

Ste*_*ott 6 php configuration phpunit unit-testing

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

我们的项目目录类似于以下内容:
Application1/
   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的自动化测试

Application2/
   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 / .test,由Application1和Application2测试跟随(如果成功).我看到提到了一个PHPUnit_xml文件和一个bootstrap文件,但我找不到一个参考模板来看看这些是否是我需要的.任何帮助,将不胜感激.

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

在此先感谢您的任何帮助.

edo*_*ian 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>
Run Code Online (Sandbox Code Playgroud)

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