Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for kkkw kkkw
June 22, 2017

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

Avatar for kkkw

kkkw

June 22, 2017
Tweet

More Decks by kkkw

Other Decks in Programming

Transcript

  1. テストしたいコード 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. こうすると早くはできる $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);