2009-09-25 3 views
1

우리는 여러 데이터베이스 제품에 대해 작동하도록 설계된 오픈 소스 도구를 작성하고 있습니다 (실제로는 사용 가능한 JDBC 드라이버가있는 모든 데이터베이스에서 작동하도록 설계되었습니다). 그러나 DML이 아닌 DDL을 사용하므로 다른 제품에 대해 테스트해야합니다.여러 데이터베이스 제품에 대한 코드를 테스트 할 수있는 서비스가 있습니까?

MySQL, PostgreSQL 및 기타 오픈 소스 데이터베이스는 우리가 테스트하기 쉽지만 (개발자 - 모두가 매일 사용하므로) 테스트하기가 쉽습니다. 그러나 다른 상업용 데이터베이스 제품의 설치를 찾는 것은 다른 이야기입니다.

"데이터베이스 샌드 박스"또는 이와 유사한 서비스를 알고 구매하거나 설치하지 않고도 여러 데이터베이스 제품에 대해 코드를 테스트 할 수 있습니까?

미리 감사드립니다.

답변

2

나는 그런 서비스를 모른다. 그러나 오픈 소스 라이브러리와의 상호 운용성을 갖는 것이 종종 관심사이기 때문에 상업적 벤더들과 연락하는 것이 가치가있다. 다른 방법은 상용 DB 중 하나를 사용하여 도구를 사용하려는 회사를 찾고 (액세스 업체가 이미 해당 공급 업체와 연결되어 있기 때문에) 액세스하고 시간을 보낼 수 있는지 물어보십시오. 사무실에서. 이것은 다른 상용 소스 제어 시스템과 함께 작동해야하는 Continuous Integration 툴을 개발할 때 사용했던 접근 방식이며 놀라 울 정도로 잘 작동했습니다.

Codehaus 또는 Apache와 같은 오픈 소스 조직과 연락하고 싶을 수도 있습니다. 상용 공급 업체와 오픈 소스 링크를 설정하고 필요한 DB에 대한 액세스 권한을 부여 할 수 있습니다.

0

다른 데이터베이스에서 테스트 될 것과 같은 Hibernate 나 다른 오픈 소스 ORM과 같은 ORM을 사용할 수도 있습니다. 그런 다음 DAO 단위 테스트 만하면된다는 것을 알게됩니다. ,하지만 다른 데이터베이스에 대해서는 그렇게 염려하지 않아야합니다.

+0

이 접근법은 표준 DML 문에 매우 효과적이지만 일단 DDL 문에 필요한 원시 SQL 사용을 시작하면 더 이상 Hibernate를 사용하여 해당 내용을 추상화 할 수 없습니다. 일반적으로 ORM을 사용하면 필요한 많은 테스트를 확실히 제거 할 수 있습니다. –

+0

우리가 엔티티 속성 값 테이블을 사용했던 최근 프로젝트에서는 tsql이 무거웠으며 동적 쿼리로 DLINQ가 매우 가벼웠습니다 (표준은 있지만 새로운 데이터베이스로 쉽게 이동하지는 못합니다). 나는 다른 데이터베이스를 지원하지 않는다는 가정이 맞는지 확인했다. –

관련 문제