Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony使用哪种单元测试框架?_Php_Unit Testing_Symfony1_Phpunit - Fatal编程技术网

Php Symfony使用哪种单元测试框架?

Php Symfony使用哪种单元测试框架?,php,unit-testing,symfony1,phpunit,Php,Unit Testing,Symfony1,Phpunit,Symfony使用哪种单元测试框架 莱姆还是普尼特?使用它们的优点和缺点是什么?在我看来,我想到了以下几点: PHPUnit与其他工具的集成度更高,例如, (PHPUnit可以使用它打开真正的浏览器来测试您的站点) 用于持续集成 PHPUnit可以很好地使用,以生成代码覆盖率报告 PHPUnit的应用更为广泛;这可能意味着更多的支持 但请注意,我不与symfony合作,也不与lime合作。。。 不过,除了那些使用symfony的人之外,我从未听过有人谈论过它——这不是一件好事,因为有一天

Symfony使用哪种单元测试框架


莱姆还是普尼特?使用它们的优点和缺点是什么?

在我看来,我想到了以下几点:

  • PHPUnit与其他工具的集成度更高,例如,
    • (PHPUnit可以使用它打开真正的浏览器来测试您的站点)
    • 用于持续集成
  • PHPUnit可以很好地使用,以生成代码覆盖率报告
  • PHPUnit的应用更为广泛;这可能意味着更多的支持
但请注意,我不与symfony合作,也不与lime合作。。。
不过,除了那些使用symfony的人之外,我从未听过有人谈论过它——这不是一件好事,因为有一天你将不得不使用另一个框架(是的,这种情况会发生^^)


有一件事不在PHPUnit中:

  • “false”浏览器(能够对应用程序执行HTTP请求,而无需使用Selenium打开真正的浏览器)
但是,有些框架(Zend Framework使用它的Zend_测试组件)与PHPUnit集成(或使用它),同时允许向MVC中注入数据并获取响应,而无需发出任何HTTP请求。
我不知道symfony是否允许这样做,但这对于ZF/PHPUnit来说是件好事^^



(是的,不是一个特定于symfony的答案;但我所说的其中一些内容必须在该框架中仍然有效)

Lime是一个更简单的测试框架,它可能是好的,也可能是坏的,这取决于您想如何使用它

symfony库本身使用自己的测试框架Lime来测试其代码库。从symfony的书中:

它基于Test::More Perl 库,并且是TAP兼容的 表示测试结果为 按照测试中的规定显示 任何协议,都是为了更好的 测试输出的可读性

我不能保证lime框架比symfony文档声称的其他PHP测试框架“更轻量级”,但我真的很喜欢它直接构建到symfony项目中,并且在没有任何额外配置的情况下与symfony命令行工具配合使用。特别酷的一件事是,symfony中的lime测试被设置为在您的“测试”环境中运行,该环境有自己的数据库、symfony缓存(在每个测试会话中被清除)和环境变量。当您想要进行功能测试时(检查模块/操作中的服务器响应和html输出,与基本单元测试相比),这非常方便。我也喜欢石灰非常容易拾取和理解,因为它非常简单。您还可以将测试放入YAML配置文件中,而不是手工编写测试

Pascal是完全正确的,PHPUnit的使用更广泛,您可以在非symfony项目中使用它。甚至还有一个插件。如果你只是想在开发symfony应用程序时直接编写简单的测试,我最好的建议是使用lime。但是,如果您有时间并希望在symfony世界之外使用这些测试技能,或者将预先存在的PHPUnit测试引入到您的symfony代码中,那么您就值得花时间查看该插件并对其进行测试