핵심 모듈을 위해 작성된 통합 테스트를 살펴보면 주석의 많은 인스턴스가 @magentoDbIsolation enabled
테스트 기능 위에 나타납니다.
MTF 문서의 어느 곳에서도 이것에 대한 언급은 없으며, 살펴본 후에도 Magento\TestFramework\Annotation\DbIsolation
그 목적에 대해서는 아직 명확하지 않습니다.
누구나 통찰력을 제공 할 수 있습니까? 감사.
핵심 모듈을 위해 작성된 통합 테스트를 살펴보면 주석의 많은 인스턴스가 @magentoDbIsolation enabled
테스트 기능 위에 나타납니다.
MTF 문서의 어느 곳에서도 이것에 대한 언급은 없으며, 살펴본 후에도 Magento\TestFramework\Annotation\DbIsolation
그 목적에 대해서는 아직 명확하지 않습니다.
누구나 통찰력을 제공 할 수 있습니까? 감사.
답변:
이 주석이 지정되면 테스트 전에 DB 트랜잭션이 시작되고 그 후에 롤백됩니다. DB 픽스처를 사용하지 않고 테스트에서 DB에 무언가를 저장 한 경우 유용합니다. 참고 @magentoDataFixture
필요 동시에 주석을 사용하지하기 때문에 또한 트랜잭션에서 테스트를 랩합니다.
그리고 완전성을 위해, 지정 @magentoDbIsolation disabled
은 @magentoDbIsolation enabled
테스트 클래스에 지정된 경우에만 유용합니다 .
주석은 @magentoDbIsolation
통합 테스트에서 테스트로 작성된 DB 수정을 분리하는 데 사용됩니다. 다시 말해, 테스트를 실행하고 db를 변경하고 테스트 실행 중에 다른 세션의 db에서 이러한 데이터를 요청하는 경우 :
@magentoDbIsolation enabled
당신 과 함께 라면 아무것도 얻지 못할 것입니다.@magentoDbIsolation disabled
데이터를 얻을 것이다, 원인 데이터가 격리되지 않습니다.imho, db 데이터를 변경하려면 @magentoDataFixture
기본적으로 데이터 격리 를 사용하는 annotation을 사용하는 것이 좋습니다 .