テストを遅くしないように気をつけること

C5ac66ab0bbc4724793707a97f436423?s=47 kkkw
June 22, 2017

 テストを遅くしないように気をつけること

C5ac66ab0bbc4724793707a97f436423?s=128

kkkw

June 22, 2017
Tweet

Transcript

  1. 20.

    テストしたいコード AB テスト用に取ってきたユーザーを A グループとB グループに分ける class ServiceUser { public

    function get_ab_groups(){ $users = User::get_something(); // 時間 SQL User 配列 返 $a = $b = []; foreach($users as $user){ if($user->id % 2 === 0) $a[] = $user; else $b[] = $user; } return [ 'a' => $a, 'b' => $b, ]; } }
  2. 21.

    こうすると早くはできる $users = array_map(function($i){ return User::forge(['id'=> $i]); }, range(1,2)); $mock

    = Mockery::mock('alias:' . User::class); $mock->shouldReceive('get_something')->andReturn($users); $actual = (new ServiceUser())->get_ab_groups(); assertSomething($actual);