통합 테스트에서 개체가 이미 닫혔습니다.

lapots

spring-test-dbunit통합 테스트를 실행 하는 사용 하고 있습니다. 한 클래스 내에서 다른 데이터 세트를 사용하고 싶습니다.

나는 BaseRepositoryTest수업이있다

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(value = {
        "classpath:path/to/context/context.xml"})
@DirtiesContext(classMode = ClassMode.AFTER_CLASS)
@TransactionConfiguration()
public abstract class BaseRepositoryTest extends AbstractTransactionalJUnit4SpringContextTests {
    /** Database connection. */
    @Autowired
    protected IDatabaseConnection databaseConnection;


    /**
     * Configures database connection.
     */
    @PostConstruct
    public void initConfig() {
        try {
            databaseConnection.getConnection().setAutoCommit(true);
        } catch (SQLException e) {
            // throws exception
        }
    }

    /**
     * Load dataset data.
     *
     * @param datasetPath path to dataset
     */
    protected void loadData(String datasetPath) {
        try {
            IDataSet dataset = new FlatXmlDataSetBuilder()
                    .setColumnSensing(true)
                    .build(new ClassPathResource(datasetPath).getFile());
            DatabaseOperation.CLEAN_INSERT.execute(databaseConnection, dataset);
        } catch (Exception e) {
            // throws exception
        }
    }

그리고 BaseAnnotatedRepositoryTest수업

@DbUnitConfiguration(databaseConnection = { "databaseConnection" })
@TestExecutionListeners(DbUnitTestExecutionListener.class)
public abstract class BaseAnnotatedRepositoryTest extends BaseRepositoryTest {

그리고 여기에 테스트가 있습니다

public class PrototypeTest extends BaseAnnotatedRepositoryTest {

    private static final String TEST_DATASET =
            "testDataset.xml";

    @Autowired
    private IQuestionRepository repository;

    @Test
    @DatabaseSetup(TEST_DATASET)
    public void testSimple() {
    }

    @Test
    @DatabaseSetup(TEST_DATASET)
    public void anotherTestSimple() {
    }

}

테스트를 실행하려고 할 때 그 원인으로 오류가 발생합니다.

org.h2.jdbc.JdbcSQLException: The object is already closed [90007-170]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
    at org.h2.message.DbException.get(DbException.java:169)
    at org.h2.message.DbException.get(DbException.java:146)
    at org.h2.message.DbException.get(DbException.java:135)
    at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1388)
    at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1366)
    at org.h2.jdbc.JdbcConnection.setAutoCommit(JdbcConnection.java:406)

예를 들어 모든 메서드를 자체 클래스로 이동하는 등 테스트 메서드를 분리하면 제대로 작동합니다.

lapots

내가 변경하는 경우 AFTER_CLASSAFTER_EACH_TEST_METHOD그것을 잘 작동하기 시작했다. (시간이 상당히 증가했지만)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Python Discord 봇 '이벤트 루프가 닫혔습니다'

분류에서Dev

VBA Excel은 닫힌 파일에서 통합 문서 개체를 가져 오거나 시트 인덱스별로 Excel SQL 테이블을 참조합니다.

분류에서Dev

RuntimeError : 이벤트 루프가 비동기 파이썬에서 닫혔습니다.

분류에서Dev

문자열 스트림 결합 : 스트림이 이미 작동되었거나 닫혔습니다.

분류에서Dev

스레드가 닫혔습니다.

분류에서Dev

Alfresco : 스트림이 이미 닫혔습니다.

분류에서Dev

System.InvalidOperationException : ExecuteReader에는 열려 있고 사용 가능한 연결이 필요합니다. 연결의 현재 상태가 닫혔습니다.

분류에서Dev

mocha 테스트 nodejs mssql-연결이 닫혔습니다.

분류에서Dev

개체가 스팍 통합 테스트에 저장되지 않았습니다.

분류에서Dev

file_get_contents가 스트림을 열지 못했습니다. 연결이 닫혔습니까?

분류에서Dev

범위가 포함 된 Excel 클래스 개체는 다른 통합 문서의 원본 범위가 닫히면 데이터를 잃습니다.

분류에서Dev

실수로 포트 22가 닫혔습니다. SSH 액세스를 어떻게 수정합니까?

분류에서Dev

1 개의 개체가있는 이미지에서 개체 감지 모델을 훈련하고 여러 개체가있는 이미지로 테스트합니다.

분류에서Dev

httpcontext와 httpcontextbase 사이에 공통 개체가 필요합니다.

분류에서Dev

Ubuntu 16.04에서 포트가 닫혔습니다.

분류에서Dev

간단한 HTTP GET은 "원격 호스트에 의해 기존 연결이 강제로 닫혔습니다"로 이어지지 만 ClickOnce를 사용하는 WPF에서만 가능합니까?

분류에서Dev

서버 전송 이벤트 연결이 닫혔거나 데이터가 수신되지 않았습니다.

분류에서Dev

서버 전송 이벤트 연결이 닫혔거나 데이터가 수신되지 않았습니다.

분류에서Dev

StaticQuery updateNA "shutdown;"을 호출 할 때 '데이터베이스가 이미 닫혔습니다.'가 표시되는 이유는 무엇입니까?

분류에서Dev

컨트롤러 내부의 json 객체에 Rails 4 통합 테스트 어레이가 없습니다.

분류에서Dev

기본 연결이 닫혔습니다.-웹 서비스

분류에서Dev

가상 버튼을 통해 이미지 대상 외부의 개체에 액세스합니까?

분류에서Dev

체크 아웃 할 수 없습니다. "기존 연결이 원격 호스트에 의해 강제로 닫혔습니다."

분류에서Dev

MTProto 연결이 서버에 의해 닫혔습니다.

분류에서Dev

transitionViewForCurrentTransition이 설정되지 않았으며 프리젠 테이션 중에 프리젠 테이션 컨트롤러가 닫혔습니다.

분류에서Dev

SignalR 연결이 닫혔지만 angularjs 범위가 삭제 된 후에도 계속 작동합니다.

분류에서Dev

가상 머신의 SSH 포트가 닫혔습니다.

분류에서Dev

해시 테이블에서 개체를 가져와 다른 개체로 캐스팅합니다.

분류에서Dev

테스트 방법 모델이 구성 요소 통합 테스트에서 상점에 성공적으로 추가되었습니다.

Related 관련 기사

  1. 1

    Python Discord 봇 '이벤트 루프가 닫혔습니다'

  2. 2

    VBA Excel은 닫힌 파일에서 통합 문서 개체를 가져 오거나 시트 인덱스별로 Excel SQL 테이블을 참조합니다.

  3. 3

    RuntimeError : 이벤트 루프가 비동기 파이썬에서 닫혔습니다.

  4. 4

    문자열 스트림 결합 : 스트림이 이미 작동되었거나 닫혔습니다.

  5. 5

    스레드가 닫혔습니다.

  6. 6

    Alfresco : 스트림이 이미 닫혔습니다.

  7. 7

    System.InvalidOperationException : ExecuteReader에는 열려 있고 사용 가능한 연결이 필요합니다. 연결의 현재 상태가 닫혔습니다.

  8. 8

    mocha 테스트 nodejs mssql-연결이 닫혔습니다.

  9. 9

    개체가 스팍 통합 테스트에 저장되지 않았습니다.

  10. 10

    file_get_contents가 스트림을 열지 못했습니다. 연결이 닫혔습니까?

  11. 11

    범위가 포함 된 Excel 클래스 개체는 다른 통합 문서의 원본 범위가 닫히면 데이터를 잃습니다.

  12. 12

    실수로 포트 22가 닫혔습니다. SSH 액세스를 어떻게 수정합니까?

  13. 13

    1 개의 개체가있는 이미지에서 개체 감지 모델을 훈련하고 여러 개체가있는 이미지로 테스트합니다.

  14. 14

    httpcontext와 httpcontextbase 사이에 공통 개체가 필요합니다.

  15. 15

    Ubuntu 16.04에서 포트가 닫혔습니다.

  16. 16

    간단한 HTTP GET은 "원격 호스트에 의해 기존 연결이 강제로 닫혔습니다"로 이어지지 만 ClickOnce를 사용하는 WPF에서만 가능합니까?

  17. 17

    서버 전송 이벤트 연결이 닫혔거나 데이터가 수신되지 않았습니다.

  18. 18

    서버 전송 이벤트 연결이 닫혔거나 데이터가 수신되지 않았습니다.

  19. 19

    StaticQuery updateNA "shutdown;"을 호출 할 때 '데이터베이스가 이미 닫혔습니다.'가 표시되는 이유는 무엇입니까?

  20. 20

    컨트롤러 내부의 json 객체에 Rails 4 통합 테스트 어레이가 없습니다.

  21. 21

    기본 연결이 닫혔습니다.-웹 서비스

  22. 22

    가상 버튼을 통해 이미지 대상 외부의 개체에 액세스합니까?

  23. 23

    체크 아웃 할 수 없습니다. "기존 연결이 원격 호스트에 의해 강제로 닫혔습니다."

  24. 24

    MTProto 연결이 서버에 의해 닫혔습니다.

  25. 25

    transitionViewForCurrentTransition이 설정되지 않았으며 프리젠 테이션 중에 프리젠 테이션 컨트롤러가 닫혔습니다.

  26. 26

    SignalR 연결이 닫혔지만 angularjs 범위가 삭제 된 후에도 계속 작동합니다.

  27. 27

    가상 머신의 SSH 포트가 닫혔습니다.

  28. 28

    해시 테이블에서 개체를 가져와 다른 개체로 캐스팅합니다.

  29. 29

    테스트 방법 모델이 구성 요소 통합 테스트에서 상점에 성공적으로 추가되었습니다.

뜨겁다태그

보관