承接 draculaid/phpmocker 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

draculaid/phpmocker

最新稳定版本:v0.0.2

Composer 安装命令:

composer require draculaid/phpmocker

包简介

Create mock class for final classes and traits; Create mock method for static, private and final methods

README 文档

README

Если ваш проект использует PHP7.4 - Следует смотерть ветку `master-7`. Эта ветка актуальна под PHP 8.1.0 и выше

Страница на Packagist и команды для добавления в композер (подробней об установке):

  • для PHP 8.1 и выше composer require draculaid/phpmocker
  • для PHP 7.4.x - 8.0.x composer require draculaid/phpmocker dev-master-7

Документация и Примеры

Библиотека PhpMocker позволяет создавать мок-классы (тестовые двойники классов) и использовать мок-методы (тестовые двойники методов), для:

  • Финальных классов
  • Перечислений
  • Непосредственно для трейтов (а не классов, реализующих трейты)
  • Финальных, статических и приватных методов

PhpMocker работает вне зависимости от используемого фреймворка юнит тестирования, и даже вообще без него. Возможность превращать в мок-методы, все методы любых типов классов, достигается благодаря анализу PHP кода и его изменения в момент загрузки и выполнения кода класса, для этого PhpMocker предоставляет автозагрузчик классов (работающий как с композером, так и с любым другим автозагрузчиком)

PhpMocker также поддерживает создание мок-классов с помощью наследования (для классов, абстрактных классов и трейтов)

Для мок-методов доступно:

  • Счетчик вызовов
  • Назначение ответа для вызова
  • Выброс любого исключения
  • Отработка пользовательской функции, в том числе эта с заменой ответа метода
  • Возврат значения аргументов по ссылке
  • Изменения значения аргументов метода

Все перечисленные возможности могут быть назначены для определенных агрументов метода.

PhpMocker также предоставляет возможность взаимодействия с непубличными элементами классов (методами, свойствами и константами) А также удобный механизм для создания объектов, с назначением свойств. Включая создания объектов, без вызова конструктора, или с вызовом не публичных конструторов.

В планах...

  • Продолжить работу над документацией
  • Мок для функций
  • Мок для конструкций include() и require()

统计信息

  • 总下载量: 16
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 10
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 9
  • Watchers: 5
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2023-03-12