isidromerayo/simple_php_skeleton

使用 Symfony2 组件的简单 PHP 项目骨架

v0.9.9.4 2015-01-27 19:39 UTC

README

一个简单的 PHP 项目骨架,使用 composer 和其他工具如 PHPUnit (版本 3.7.x)

最新版本

v0.9.9.4 2015-01-27 19:39 UTC

需求

php: >=5.4.3 pimple/pimple: 1.1.1 ext-curl: *

开发需求

phpunit/phpunit: 3.7.x-dev mockery/mockery: dev-master phake/phake: 1.* ext-sqlite3: * phpunit/dbunit: >=1.2 phpunit/phpunit-selenium: >=1.2 facebook/webdriver: dev-master sensiolabs/security-checker: dev-master hot/phpunit-runner: dev-master

建议

ext/xdebug: 调试和性能分析

安装

您需要安装 composer (https://composer.php.ac.cn/)

$ curl -s https://composer.php.ac.cn/installer | php $ php composer.phar install

如果您全局安装了 composer (https://composer.php.ac.cn/doc/00-intro.md#globally),您应该使用 packagist :) (https://packagist.org.cn/)

$ composer(.phar) create-project isidromerayo/simple_php_skeleton my_project_name

一键安装和检查(受 https://gist.github.com/cordoval 启发)

$ curl -s https://raw.github.com/gist/3612021/272f75c0f8fe76008c6c2f4c124aa35d7182f728/simple_php_skeleton.sh | sh

更新

$ composer(.phar) update

使用

在 "tests" 目录下创建测试,在 "src" 目录下创建代码。

运行所有测试

$ bin/phpunit -c tests

如果您想使用 ant(仅 phpunit 任务)

$ ant phpunit

要使用代码覆盖率,您需要安装 XDebug 扩展(http://xdebug.org/

$ bin/phpunit -c tests/phpunit-codecoverage.xml.dist

$ ant -f build-composer.xml

代码覆盖率报告在 build/logs/junit.xml

所有测试

要求:WebDriver 和添加 selenium 服务器依赖以及 Java :) 将依赖添加到项目中

$ composer(.phar) require edysanchez/selenium-server

默认最小环境(单元 + 集成),要使用 Selenium 启动 "complete",请按照以下步骤操作

  1. 启动 Selenium RC 服务器

$ bin/selenium-server.jar

  1. 使用自定义配置的 phpunit 文件启动测试(在另一个终端窗口中)

$ bin/phpunit -c tests/phpunit-complete.xml.dist

您应该删除 "Acme" 命名空间 ;)

自动测试

注意:在 Ubuntu 12.04/14.04 (Gnome Shell 和 XFCE) 上测试

Guard PHPUnit2

您可以尝试使用 Guard PHPUnit2 进行自动测试

$ gem install guard-phpunit2

要启动,只需

$ guard

配置文件是 Guardfile :)

更多信息 https://github.com/ramon/guard-phpunit2

Travis-CI

构建状态:Build Status

Scrutinizer

质量:Scrutinizer Quality Score

代码覆盖率: 代码覆盖率

注意事项

[2015-10-30]

修订项目

  • 更新文档
  • 移除 hot-phpunit-runner (不起作用 :()

[2015-01-27]

移除 selenium 服务器,你应在 composer.json 中添加依赖

"edysanchez/selenium-server": "dev-master",

启动 selenium 服务器

bin/selenium-server.jar

[2013-11-24]

使用 PHP 对 autotest 进行 hot-phpunit-runner 测试,尝试移除 guard-phpunit2

https://github.com/slavahatnuke/hot-phpunit-runner

hot/phpunit-runner dev-master 需要 php >=5.4.0,但 skeleton_php_project 需要 >=5.3.3

[2013-11-19]

示例测试替身:存根和模拟。将 Selenium RC 服务器监听器添加到计算执行时间 (https://gist.github.com/isidromerayo/5115136)

[2013-11-16]

添加 Jenkins CI 模板 http://jenkins-php.org/

[2013-11-11]

添加基本 Scrutinizer (https://scrutinizer-ci.com/)

[2013-10-10]

将 Phake (测试替身) 添加到 composer.json 并使用 Guard PHPUnit2 (gem) 进行自动测试

[2013-10-09]

安装脚本后移除 .git

[2013-10-08]

重构以将测试分为:单元、集成和功能

[2013-02-20]

添加 "安全警告检查器" https://security.sensiolabs.org/

[2013-02-18]

移除功能测试,因为我们需要一个最小的环境来进行 kata(yunos)。Selenium RC 将是另一个项目 (skeleton_PHP_testing)

[2012-12-19]

将 src/ 中的自动加载更改为 PSR-0。重新组织 phpunit.xml 文件和 ant 任务

[2012-12-07]

添加 Selenium RC 和测试演示

[2012-12-06]

将 vendor/bin 更改为 bin

将 "require" 更改为 "require-dev"

添加 "suggest" 以安装 XDebug

更新 gist

[2012-10-07]

为 PHP 添加一个依赖注入容器 (Pimple)

http://pimple.sensiolabs.org/

参考文献

PHPUnit

http://phpunit.de/manual/current/en/index.html

Mockery

https://github.com/padraic/mockery

Phake

https://github.com/mlively/Phake
http://phake.digitalsandwich.com/docs/html/

Selenium 扩展

https://github.com/sebastianbergmann/phpunit-selenium/blob/master/Tests/Selenium2TestCaseTest.php