【发布时间】:2019-07-04 01:54:08
【问题描述】:
在我的测试开始时,我实例化了一个工厂用户,并用它运行各种测试。在测试结束时,我运行了失败的断言。但是,如果我重新加载用户并运行它们通过的相同断言。
对于这个问题的相当粗略的例子,我们深表歉意。为了说明问题,我在测试中添加了一些调试:
dump(get_class($this->user) . ' : ' . $this->user->currentPlan());
$reloadUser = \App\User::find($this->user->id);
dump(get_class($reloadUser) . ' : ' . $reloadUser->currentPlan());
两个转储应该是一样的,但是输出是:
"App\User : "
"App\User : Professional Annual"
方法currentPlan():
public function currentPlan()
{
if ($this->subscription('plan')) {
$plan = Plan::where('stripe_id', $this->subscription('plan')->stripe_plan)->first();
return $plan->nickname;
}
return false;
}
我希望这能说明问题,但请询问是否有任何不清楚的地方。
TIA
【问题讨论】:
标签: laravel testing stripe-payments laravel-cashier