trismegiste / scaffolding
该软件包已被放弃,不再维护。没有建议的替代软件包。
关于该软件包的最新版本(v1.0.0)没有可用的许可信息。
symfony2 中 phpunit 的脚手架
v1.0.0
2014-09-07 21:27 UTC
Requires
- php: >=5.4
- nikic/php-parser: 0.9.3
Requires (Dev)
- symfony/symfony: 2.3.*
This package is not auto-updated.
Last update: 2021-11-26 08:19:35 UTC
README
什么是
本扩展包的目的是构建
- 任何类的单元测试骨架,包括模拟生成器
- 控制器的基本功能性测试
如何
对子目录 Service 中的名为 Demo 的类的单元测试
app/console test:generate:class MyBundle:Service/Demo
测试 MyBundle 中的 DemoController
app/console test:generate:routing MyBundle:Demo
按模式过滤测试 AcmeDemoBundle 的一组路由
app/console test:generate:routing --bundle AcmeDemoBundle _demo
谁
- 项目早期阶段的编码者,在创建模型后不久
- 项目后期阶段的编码者,在重构之前(如果还没有单元测试的话)
- 扫描软件包的所有路由以检查未认证用户时的安全性
- 检查是否存在 HTTP/500 错误
在哪里
像其他扩展包一样将此扩展包包含在您的 AppKernel 中。
为什么
因为单元测试是强制性的。没有它是无法生存的。但说实话,为一个实体创建一个单元测试类是有点无聊的,尤其是当涉及到许多模拟时。这通常是相同的代码,相同的开始... 当你在团队中,或者当你需要重构(你总是需要重构,除非你能在三维象棋中打败 Spock)时,单元测试是至关重要的。
最终,该扩展包的目标是在开始测试类时节省时间,每个测试类,但不要期望它会代替你的代码。你必须填补空白,移动命名空间,删除一些测试,添加你的测试,扩展一些验证...
何时
- 你刚刚创建了一个具有强断言的实体,你需要检查验证现在是否正常,并在代码的任何更改后是否仍然正常。
- 你很匆忙,需要重构一个或多个扩展包。然后,你发现 DirtyBundle/Tests/ 子目录为空,你注定失败了!
然后,你有两种选择
- 重构而不进行单元测试。这就像用机关枪玩俄罗斯轮盘赌
- 使用此扩展包快速生成一些单元测试。现在你的六发左轮手枪中只剩下两到三发子弹。
多少
不要滥用此扩展包。你应该为每个实体只使用一次。每次修改你的类时重新创建单元测试没有任何意义!