我正在开发流明包装,我不知道对此进行测试。
在我的程序包中,我使用全局方法config()
和abort()
,但此方法与bootstrap/app.php
存在,并且我的程序包中没有此文件。
我正在考虑使用dummies类重新定义此方法,但是当我测试配置更改的方法时,我只能在test类中编写一个测试方法,以重新调用以前的config
虚拟类
这不切实际,我想有更好的选择。
如果您愿意,我可以共享代码。
---编辑
这是示例:
Class CheckAuthorizationTest
public function testCanSeeOtherUserRoles()
{
$this->assertTrue(CheckAuthorization::canSeeOtherUserRoles($user, $user));
}
Class CheckAuthorization
static public function canSeeOtherUserRoles(Model $user_parent, Model $user_child)
{
return self::roleIsParentOfDirectChild($user_parent, $user_child);
}
static public function canShowGroup(array $parent_group, string $child_group)
{
$groupsHelper = new GroupsHelper();
foreach ($parent_group as $group) {
if (in_array($child_group, config('roles.roles'))) {
return true;
}
}
abort(403);
}
结果:
有1个错误:
1) ::testCanSeeOtherUserRoles
ReflectionException: Class config does not exist