PHP Unittest类加载另一个类

pma

我有以下情况

class User 
{
  private $id;
  private $roleId;
  private $role;

  public function __construct(int $id, int $roleId)
  {
    $this->id = $id;
    $this->setRoleId($roleId);
  }

  public function setRoleId(int $roleId)
  {
    $this->role = Role::load($roleId);
  }
}

class Role
{
  public function __construct($x, $y ,$z)
  {
    //...
  }

  static function load(int $id) : Role
  {
    // some magic code
    return new Role($id);
  }

  public function getRoleId() : int
  {
    return $this->role->getId();
  }

  public function getRole() : Role
  {
    return $this->role;
  }
}

我的问题是,如何对User-Class进行单元测试?角色类从Web服务加载自身... Stub或Mock不适合(我想),因为要模拟的对象适合Role并且我正在User此处测试-Class。

欢迎任何想法

/ BR

菲利普

迷你牛郎

在这种情况下,您要让您的User课程负责加载角色。通常,这不是您User的责任相反,您可以例如setRole(Role $role)User定义一个函数该函数接受realRole或false / stub / mock / whatever Role,而不接受用户ID。然后,在实际使用用户对象的功能/代码中完成角色的检索。

但是,然后如何测试该课程呢?

在单元测试中,通常不依赖像您这样的静态方法会更容易Role::load相反,您可以使用非静态方法。然后,您可以编写一个extends类,该类可以Role执行您希望在测试期间执行的操作。然后,您还可以编写一些东西来检查您指示它是否完成。

这就是为什么通常不鼓励使用许多静态方法的原因:因为很难测试(使用)它们。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP - 从另一个类调用类函数

来自分类Dev

PHP:从另一个文件调用父类

来自分类Dev

PHP如何从另一个类调用函数?

来自分类Dev

在PHP的另一个类中调用方法

来自分类Dev

在PHP类中包含另一个文件

来自分类Dev

从另一个类 PHP7 中调用一个类

来自分类Dev

PHP将一个类传递给另一个类构造函数

来自分类Dev

php-在另一个使用全局类的类中使用类方法

来自分类Dev

从另一个类的PHP中的一个类中调用一个函数

来自分类Dev

PHP 扩展一个类并使用具有相同基类的另一个类

来自分类Dev

是否有可能获得扩展PHP中另一个类的类/文件的名称?

来自分类Dev

PHP:获取调用另一个静态类的静态方法的类名

来自分类Dev

如何使PHP类在其构造函数中实例化另一个类?

来自分类Dev

是否有可能获得扩展PHP中另一个类的类/文件的名称?

来自分类Dev

如何在类中调用函数以在php中调用另一个类?

来自分类Dev

PHP:是否可以从另一个静态类调用静态类方法?

来自分类Dev

来自新类中另一个类的调用方法-PHP

来自分类Dev

PHP - 从另一个类调用数据库类

来自分类Dev

PHP如何从另一个类和另一个文件调用函数?

来自分类Dev

PHP OOP。如何获取类的常量__METHOD__的值,如何在另一个类中创建另一个类的实例?

来自分类Dev

PHP-从同一类中的另一个类变量设置类变量?

来自分类Dev

PHP的同一类对象分为另一个类的两个功能

来自分类Dev

PHP从同一类中的另一个函数调用一个函数

来自分类Dev

PHP从另一个网站上的特定类中抓取文本

来自分类Dev

从另一个PHP文件的类函数访问变量

来自分类Dev

无法使PHP类函数在该类中使用另一个函数

来自分类Dev

PHP-在另一个类中调用函数

来自分类Dev

PHP-从类中的另一个函数调用后调用函数

来自分类Dev

如何从类访问函数到另一个PHP文件

Related 相关文章

  1. 1

    PHP - 从另一个类调用类函数

  2. 2

    PHP:从另一个文件调用父类

  3. 3

    PHP如何从另一个类调用函数?

  4. 4

    在PHP的另一个类中调用方法

  5. 5

    在PHP类中包含另一个文件

  6. 6

    从另一个类 PHP7 中调用一个类

  7. 7

    PHP将一个类传递给另一个类构造函数

  8. 8

    php-在另一个使用全局类的类中使用类方法

  9. 9

    从另一个类的PHP中的一个类中调用一个函数

  10. 10

    PHP 扩展一个类并使用具有相同基类的另一个类

  11. 11

    是否有可能获得扩展PHP中另一个类的类/文件的名称?

  12. 12

    PHP:获取调用另一个静态类的静态方法的类名

  13. 13

    如何使PHP类在其构造函数中实例化另一个类?

  14. 14

    是否有可能获得扩展PHP中另一个类的类/文件的名称?

  15. 15

    如何在类中调用函数以在php中调用另一个类?

  16. 16

    PHP:是否可以从另一个静态类调用静态类方法?

  17. 17

    来自新类中另一个类的调用方法-PHP

  18. 18

    PHP - 从另一个类调用数据库类

  19. 19

    PHP如何从另一个类和另一个文件调用函数?

  20. 20

    PHP OOP。如何获取类的常量__METHOD__的值,如何在另一个类中创建另一个类的实例?

  21. 21

    PHP-从同一类中的另一个类变量设置类变量?

  22. 22

    PHP的同一类对象分为另一个类的两个功能

  23. 23

    PHP从同一类中的另一个函数调用一个函数

  24. 24

    PHP从另一个网站上的特定类中抓取文本

  25. 25

    从另一个PHP文件的类函数访问变量

  26. 26

    无法使PHP类函数在该类中使用另一个函数

  27. 27

    PHP-在另一个类中调用函数

  28. 28

    PHP-从类中的另一个函数调用后调用函数

  29. 29

    如何从类访问函数到另一个PHP文件

热门标签

归档