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框架.更改名称将导致我们公司的程序更改和开发人员的培训,我正在努力避免.
在此先感谢您的任何帮助.
所以你有文件命名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并保留其他文件.