클로저에서 일반 기능으로 기능을 이동하는 방법
P粉831310404
P粉831310404 2023-09-05 21:54:44
0
1
489

저희는 尝试使害虫测试文件更易于阅读。

目前,我有一些标准测试:

test('구독자의 최신 구독을 얻을 수 있습니다.', function () { $this->seed(PlansTestSeeder::class); $this->seed(SubscriptionsTestSeeder::class); $this->assertDatabaseCount('계획', 2); $this->assertDatabaseCount('구독', 0); 구독::factory()->create([ "계획_ID" => 계획::where("슬러그", "브론즈")->first()->id ]); 구독::factory()->create([ "계획_ID" => 계획::where("슬러그", "실버")->first()->id ]); 구독::factory()->create([ "계획_ID" => 계획::where("슬러그", "실버")->first()->id, "상태" => '만료됨' ]); 구독::factory()->trashed()->create(); $this->assertDatabaseCount('구독', 4); }); test('구독자의 활성 구독을 얻을 수 있습니다.', function () { $this->seed(PlansTestSeeder::class); $this->seed(SubscriptionsTestSeeder::class); $silverPlan = 계획::where("슬러그", "실버")->first(); $subscription1 = 구독::factory()->create([ "계획_ID" => 계획::where("슬러그", "실버")->first()->id, "구독자_ID" => 1, "구독자_유형" => "ApresourcingFrameworkBillingTestsModelsSubscriber", "created_at" => now()->subDays(2), "시작_시간" => now()->subDays(2) ]); $subscription2 = 구독::factory()->create([ "계획_ID" => $silverPlan->id, "구독자_ID" => 1, "구독자_유형" => "ApresourcingFrameworkBillingTestsModelsSubscriber", "created_at" => now()->subDays(1), "시작_시간" => now()->subDays(1) ]); $user = 구독자::find(1); $subscription = $user->latestSubscription(); 기대($subscription->id)->toBe($subscription2->id); });

但是为了提醒自己我编写了哪些测试, 我必须一遍又一遍地上下滚动页面.

제가 원하는 것은 다음과 같이 변경하는 것입니다:

test('구독자의 최신 구독을 얻을 수 있습니다.', getLatestSubscription()); test('구독자의 활성 구독을 얻을 수 있습니다.', getActiveSubscriptions()); 함수 getLatestSubscription() { /// 여기에 함수 코드가 있습니다. }); 함수 getActiveSubscriptions() { // 여기에 함수 코드가 있습니다. });

그러나 테스트 함수에는 일반 클로저에서는 사용할 수 있지만 표준 함수에서는 사용할 수 없는 $this에 대한 참조가 포함되어 있습니다.

편집: 저는 laravel pest 플러그인을 사용하고 있습니다. 이것이 $this

사용에 영향을 미치는지 잘 모르겠습니다.

이 문제를 해결할 수 있는 방법이 있나요?

P粉831310404
P粉831310404

모든 응답 (1)
P粉563446579

답변에 몇 가지 팁을 제공해 주셔서 감사합니다. 기대했던 것만큼 깔끔하지는 않지만 적어도 모든 테스트("테스트 설명") 호출이 PHP 파일 하단의 한 위치에 있다는 의미입니다.

으아악
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿
    회사 소개 부인 성명 Sitemap
    PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!