Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
phpunit

 

Mocking

Cache 등의 Facade 사용시 Mockery 로 목킹을 해줘야 정상 동작함.

Code Block
<?php

class FooTest extends TestCase
{
    public function testGetIndex()
    {
        Cache::shouldReceive('get')
                    ->once()
                    ->with('key')
                    ->andReturn('value');
		
		 Cache::shouldReceive('has')
                    ->once()
                    ->with('key')
                    ->andReturn('true');

        $this->visit('/users')->see('value');
    }
}
Tip

mocking 시 app 에서 호출 안 된 코드를 mocking 하면 에러가 발생함. (Ex: Cache::has('key') 를 호출하는 부분이 실제 app 에 없는데 위와 같이 mocking 할 경우)

 

 

CI 연동

  1. Plan 생성
  2. "Source checkout" Job 추가
  3. composer install Job 생성
     

    Code Block
    composer install --no-interaction --prefer-dist --no-suggest
  4. phpunit 연동. bamboo 는 command 의 arg 가 없으면 안 되므로 아래처럼 -c phpunit.xml 추가 
     
  5. phpUnit 이 성공했으면 deploy 하도록 envoy Job 추가
     
  6. Plan 실행!

...