우리는 기능 테스트를 위해 Fitnesse를 사용하려고합니다. 의존성을 조롱해야합니까, 아니면 데이터베이스에 대해 테스트해야합니까?Fitnesse- 검사가 데이터베이스와 대화해야합니까?
두 방법 중 하나의 장점/단점은 무엇입니까?
DB에 대한 테스트의 모든 문제는 거대한 의존성 인 데이터를 설정하는 것입니다. 우리가 조롱하면 진짜 기능 테스트입니까?
감사합니다.
우리는 기능 테스트를 위해 Fitnesse를 사용하려고합니다. 의존성을 조롱해야합니까, 아니면 데이터베이스에 대해 테스트해야합니까?Fitnesse- 검사가 데이터베이스와 대화해야합니까?
두 방법 중 하나의 장점/단점은 무엇입니까?
DB에 대한 테스트의 모든 문제는 거대한 의존성 인 데이터를 설정하는 것입니다. 우리가 조롱하면 진짜 기능 테스트입니까?
감사합니다.
"InMemory"및 "데이터베이스"모드의 두 가지 모드로 실행되는 완벽한 기능 테스트를 제공합니다. 테스트를 실행할 구성에 따라 테스트에서 사용하는 리포지토리가 결정됩니다. 여기에는 몇 가지 장점이 있습니다.
1) 개발자가 데이터베이스에 많은 기능을 구축하지 못하게하고 코드에 계속 유지합니다.
2) "메모리가"인 경우 fitnesse 테스트가 매우 빠르게 실행됩니다. 테스트가 매우 빠르게 실패하도록하여 개발 및 민첩성을 높입니다. db 모드로 실행할 때만 시간이 걸립니다.
나는 데이터베이스에 대해 테스트해야한다고 생각합니다. 왜냐하면 당신이 fitnesse과 기능 테스트를하고 있기 때문에, 당신은 가짜를 사용하고 있기 때문입니다. 데이터베이스와 함께 사용하면 실제 데이터베이스 기능이 잘 작동하는지 알 수 있습니다. 그렇지 않으면 DB에 거대한 데이터가 저장됩니다.
감사합니다. 셋업 데이터의 고통은 어떻습니까? 각각의 모든 테스트 케이스에 대해 그렇게 어려운 것은 아닙니다. 우리는이 부분의 CI를 사용하고자합니다. Healthe에서 데이터를 설정하는 것이 얼마나 쉽고 어렵습니까? – Naveen
내가 볼 FitNesse와 함께 할 수있는 테스트의 2 개 종류 (최소) :
테스트 (또는 예) 도메인 로직 또는 동작을 지정하기위한 것. 나는 이것들을 대개 시험 목적에 중요하지 않기 때문에 이 아니고과 같이 데이터베이스 액세스에 사용하는 경향이 있습니다.
회귀 또는 연기 테스트로 사용되는 종단 간 (또는 거의 종단 간) 테스트. 분명히 데이터베이스 기능이 포함되어 있습니다.
DB를 포함하는 이점은 테스트가 실제 프로덕션 시스템을 더 대표하므로 단점은 데이터베이스 상태를 설정하고 관리하는 추가 비용입니다. DB 설정 및 검증을 돕기 위해 설계된 조명기 세트 인 DbFit을 살펴보십시오.
나는 NUnit에서 DB와 관련된 통합 테스트를 격리하려고한다. 통합 문제로 인해 fonctional 테스트가 실패해서는 안됩니다. DB보다 단순 싱글 톤을 통해 객체 상태를 전달하는 것이 더 편하다고 생각했습니다.
다른 기능 테스트를 시작할 때 DB 관련 항목에 대해 다른 테스트 스위트를 만드는 데보다 많은 확신을 가질 수있었습니다. 비즈니스 규칙, 저장된 procs 및 일부 기본하지만 중요한 테이블과 같은 것들을 검증하여 올바른 위치에 있는지 확인하고 올바른 결과를 렌더링 할 수 있습니다. 예상대로라면 프런트 엔드에 표시되는 기능은 기능 테스트를 수행 할 수있는 견고한 환경이어야합니다.
감사합니다. 완전히 의미가 있습니다. – Naveen