使用PHPUnit进行单元和功能测试的文件系统/目录布局
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用PHPUnit进行单元和功能测试的文件系统/目录布局,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1650字,纯文字阅读大概需要3分钟。
内容图文
我需要在我的测试套件中添加集成测试.虽然名称是PHPUnit,但我发现在这里运行非单元测试有很多支持.我的布局是这样的:
<root>
lib/
Foo/
Component.php
tests/
lib/
Foo/
ComponentTest.php
resources/
fixtures/
(我认为)有三种方法可以在这里添加高于单位水平的测试:
添加并行结构
<root>
tests/
unit/
lib/
Foo/
ComponentTest.php
integration/
lib/
Foo/
ComponentTest.php
resources/
fixtures/
这应该有效,除非现在没有1:1类:测试类关系可能(并且可能会)混淆Netbeans.
添加< root> /tests/lib/Foo/ComponentIntegrationTest.php
与上面相同的问题,目录较少.
将测试添加到现有测试类,使用@group integration等符号
这保持了1:1的关系,但却增加了测试套件的复杂性.此外,由于需要在不断变化的环境中调用SUT,我不能只重用单元测试中的_setup().
想法?
解决方法:
单元测试用于单独测试单个单元(类).集成测试旨在将多个单元一起测试.因此,类和它们所属的集成测试之间可能不会有1:1的相关性.
我将创建一个单独的目录结构 – 甚至可能是一个单独的项目 – 来容纳集成测试. NetBeans将无法打开类所属的“测试”,因为它将属于多个测试,但它将继续打开其匹配的单元测试.
我们使用Selenium为我们的集成测试(在我到达之前称为健全性测试)有一个单独的项目,到目前为止它运行良好.
更新
我们的集成测试的目录布局非常简单:每个站点一个目录.我们为站点提供了一个代码库,并使用视图来允许单个站点覆盖布局(不仅仅是换肤).我们没有像我想的那样在这些测试上花费太多时间.我们使用Selenium在将站点推送到临时服务器后运行测试.我还没有机会将它们连接到我们的持续集成服务器(Jenkins),但那将是理想的.
我建议您在网站上按功能区或模块进行组织.大多数情况下,这取决于您如何看待您正在测试的项目.示例可能如下所示:
src/
Model/
Cart.php
...
tests/
unit/
phpunit.xml
bootstrap.php
Model/
CartTest.php
...
integration/
account/
login/
register/
subscriptions/
products/
listing/
details/
search/
cart/
shop/
checkout/
内容总结
以上是互联网集市为您收集整理的使用PHPUnit进行单元和功能测试的文件系统/目录布局全部内容,希望文章能够帮你解决使用PHPUnit进行单元和功能测试的文件系统/目录布局所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。