티스토리 뷰
2개 이상의 데이터베이스를 사용할 경우 DatabaseTrasaction 미들웨어를 사용해도 default 값의 DB에 한해 트랜잭션이 처리된다.
// config/databases.php
return [
'default' => env('DB_CONNECTION', 'default'),
...
사용하는 테스트마다 트랜잭션을 지정해도 되긴하나 테스트파일이 추가될 떄 마다 지정해줘야하는 번거로움이 있다.
class SomeTest extends TestCase
{
protected $db;
public function setUp(): void
{
$this->db = \DB::connection('somedatabase1');
$this->db->beginTransaction();
parent::setUp();
}
public function tearDown(): void
{
$this->db->rollback();
parent::tearDown();
}
}
DatabaseTrasaction
미들웨어를 사용할 경우 기본 config('dataabase.default')에 한해 적용된다.connectionsToTransact
값을 정의하여 다중 커넥션에 대해 트랜잭션 처리 할 수 있다.
class SomeTest Extends TestCase
{
use DatabaseTransaction;
protected $connectionsToTransact = ['somedatabase1', 'somedatabase2;];
...
}
출처: https://laracasts.com/discuss/channels/laravel/phpunit-test-not-running-with-multiple-database-setup
'공부합시다 > php' 카테고리의 다른 글
Laravel Carbon으로 addMonth 오류 (0) | 2024.04.05 |
---|---|
Laravel Exception Test (0) | 2023.11.15 |
Laravel auth session + token 동시에 사용하기 (0) | 2023.09.25 |
라라벨 하나의 Router에서 여러개 인증 사용하기 (0) | 2023.09.14 |
COMPOSER 2.x 버전 설치 및 업데이트 (0) | 2023.07.13 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- redis
- vim
- graphql-php
- 메일
- observer 매개변수 전달하기
- laravel-test
- l5-swagger-response
- Python
- graphql
- MySQL
- addMonthWithoutOverflow
- 자바스크립트
- django
- bitwarden-cli
- l5-swagger
- Laravel
- addMonth
- laravel-kafka
- POP3
- aaa패턴
- session+token authorize
- eloquent-observer
- 정규식
- php-laravel
- exception-test
- 정의
- password-manager
- php
- 라라벨
- 테스트_다중트랜잭션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함