답변

4

LocalDB를 사용하면 문제가 해결 될지 잘 모르겠습니다. LocalDB를 사용하려면 UnitDB를 실행하는 컴퓨터에 LocalDB를 설치해야하며 AppHarbor의 경우는 그렇지 않을 수도 있습니다.

대안을 이러한 자원을 고려

  1. Integration Testing Entity Framework code first with in-memory database (사용 SQL 서버 CE를 단위 테스트 디렉토리에 파일을 사용하여)
  2. Effort (파일 시스템을 건드리지 않고의 당신이 메모리에 스키마 및 실행 단위 테스트를 만들 수 있습니다 - 아마도 바람직 할 것)
+0

단위 테스트 시나리오에서 .sdf가 (부분적으로) 작동 할 수있었습니다. 문제는 .sdf가 스토어드 프로 시저 생성을 허용하지 않기 때문에 부분적으로 만 데이터베이스를 테스트 할 수 있다는 것입니다. – tafaju

+0

저장 프로 시저의 모든 논리를 응용 프로그램 코드로 옮겨서 이식성을 향상시켜야합니다. 유닛 테스트가 파일 시스템을 만질 필요가 없도록 유닛 테스트에서 데이터베이스를 조롱하는 것도 고려해야합니다. 단위 테스트보다 통합 테스트에 더 가깝습니다. – friism

+0

네, 맞습니다. 이것들은 통합 테스트의 정신에 더 가깝지만, 불행히도 지속적인 배치를 통해 유닛 ("통합") 테스트가 유일한 게이트 키퍼라는 사실을 감안할 때. 데이터베이스에서 애플리케이션 티어로 로직을 옮기는 것이 기존의 세트 기반 필터링의 주된 이유 일 때 결코 좋은 생각처럼 보이지 않습니다. 요청 당 불필요한 데이터 전송은 이식성 문제를 해결하는 것보다 비용이 많이 드는 것처럼 보입니다. – tafaju