2008-10-29 2 views
2

어떻게 설정은 DUnit 테스트는 델파이의 마이다스/데이터 스냅 프로젝트에서와 2006은 DUnit 테스트

편집 하나가 TRemoteDataModule 프로젝트 마법사에은 DUnit 테스트를 설정 않는 방법

델파이 2006에서 TRemoteDataModule 함께 작동하지 않습니다

답변

4

질문은 완전히 의미가 없습니다. 단위 테스트는 DataSnap 서버가 아닌 별도의 프로젝트에서 수행됩니다. 일반적으로 데이터베이스에 연결하는 테스트는 단위 테스트가 아닌 통합 테스트입니다. 정확히 무엇을 테스트하고 싶은가? TRemoteDataModule의 유틸리티 메소드 인 경우, 클래스 메소드로서 별도의 클래스에 추출해야하며 거기에서 테스트해야합니다. 단위 테스트를 수행하기 위해 응용 프로그램 서버를 인스턴스화 할 필요가 없습니다.

+0

동의하지 않습니다. 실제 클라이언트/서버 통신, 다중 클라이언트 및 다중 처리로 클라이언트/서버 응용 프로그램을 테스트하는 것은 필수적입니다. 때로는 "스트레스 테스트"라고도하며 항상 가치가 있습니다 ... –

+0

@ A.Bouchez, 통합 테스트를 수행해서는 안되는 곳이 어디입니까? 나는하지 않았다. 당신은 절대적으로 * 통합 테스트를해야합니다. 그러나 단위 테스트는 통합 테스트와 다릅니다! –

+0

@Craig는 동의하지만 DUnit은 통합 테스트를 수행하는 데 사용할 수 있으며 아직 자동화 된 통합 테스트 – mjn

2

위의 간결한 답변을 드려 죄송합니다. 게시물을 편집하는 동안 돌아 오는 순간 iPad가 게시됩니다.

dUnit은 단위 테스트를 수행하도록 설계되었으며 단위 테스트를 수행하지 않으려 고합니다. 그것은 데이터베이스

  • 그것은 그것은 그것은 실행할 수 없습니다 파일 시스템
  • 에게 감동 네트워크
  • 를 통해 통신 회담

    • : 경우

      테스트는 단위 테스트하지 않습니다 다른 단위 테스트와 같은 시간에

    • 환경 (설정 파일 편집과 같은)을 실행하려면 특별한 일을해야합니다.
    • 그것은 당신이 (미다스/데이터 스냅 관련 로직을 테스트하지 않고) 클래스를 테스트은 DUnit을 사용하여 SOLID 원칙 (특히 단일 책임의 원칙)을 따르는 경우에

    하는 것은 합리적으로 간단해야 분리하여 실행할 수 없습니다 . 실제로, Midas/DataSnap 로직을 테스트 할 필요는 없습니다.

    그러나 Delphi 응용 프로그램에서 통합 및 동작 테스트를 수행 할 수있는 방법이 있습니다.

    개인적으로, 나는 어떤 종류의 CI 서버와도 잘 통합되지 않고 테스트가 독점적 인 바이너리 형식으로 저장되기 때문에 TestComplete를 사용하지 않을 것입니다. (이는 병합의 차이를 만들거나 모든 소스 제어 시스템에서 변경 사항을 유지하는 데 문제가 있습니다) .

    dSpec을 시도해 볼 수는 있지만 Jody Dawkins가 더 이상이를 유지 관리하지는 않습니다.

    일부 프로젝트에서는 BASIC 스크립팅 언어를 직접 사용하고 .NET 어셈블리를 사용하여 NUnit 및 C#을 사용하여 다른 델파이 응용 프로그램을 구동했습니다. 완벽한 것은 아니지만 NUnit/C# 솔루션은 기능/동작 테스트 Delphi 응용 프로그램을 수행 할 때 보았던 모든 것보다 더 우아했습니다. 그것은 비록 그것을 설치하는 데 약간의 노력이 필요했다.