Phpunit 灯塔自动模型检测不需要';不能使用单元测试
我似乎面临着一个普遍的问题,即指令驱动的突变在单元测试时无法正常工作。使用GraphQL,一切正常,用户模型自动检测。但是,如果单元测试相同的功能,它就会失败 所有配置值都已正确设置(正如我从未失败的常规请求中看到的): lighthouse配置值也设置为上面的名称空间 例如,这个变异会触发Phpunit 灯塔自动模型检测不需要';不能使用单元测试,phpunit,graphql,laravel-lighthouse,Phpunit,Graphql,Laravel Lighthouse,我似乎面临着一个普遍的问题,即指令驱动的突变在单元测试时无法正常工作。使用GraphQL,一切正常,用户模型自动检测。但是,如果单元测试相同的功能,它就会失败 所有配置值都已正确设置(正如我从未失败的常规请求中看到的): lighthouse配置值也设置为上面的名称空间 例如,这个变异会触发UserPolicy类,然后自动调用User类的create方法: type Mutation @protect(guards: ["api"]) { "Create user" createUser
UserPolicy
类,然后自动调用User
类的create方法:
type Mutation @protect(guards: ["api"]) {
"Create user"
createUser(data: NewUserInput! @spread): User
@can(ability: "create")
@create
}
但是通过phpunit调用相同的请求将导致错误:
对于@can
,它返回一个未授权错误,如果我删除@can
,它只会更新用户模型的电子邮件字段,就好像未正确设置批量分配一样
当我现在将上述模式定义更改为:
type Mutation @protect(guards: ["api"]) {
"Create user"
createUser(data: NewUserInput! @spread): User
@can(ability: "create" model: "ClientName\\PackageName\\Models\\User")
@create(model: "ClientName\\PackageName\\Models\\User")
}
在phpunit测试中,它可以像预期的那样工作
现在,我怀疑在测试中没有找到用户模型或者没有找到合适的模型,但我无法理解为什么会这样
有人知道吗
type Mutation @protect(guards: ["api"]) {
"Create user"
createUser(data: NewUserInput! @spread): User
@can(ability: "create" model: "ClientName\\PackageName\\Models\\User")
@create(model: "ClientName\\PackageName\\Models\\User")
}