2012-04-24 5 views
1

StoreData 함수를 호출하여 데이터베이스에 데이터를 저장하고 있습니다. 디자이너 코드에서 SqlConnection이 열리고 SqlCommand이 실행되고 SqlConnection이 닫힙니다. StoreData이 성공적으로 실행 된 후 데이터가 DB에 저장됩니다.LINQ를 사용하여 데이터베이스에서 값을 지정하십시오.

내가 통합 테스트를 위해 선택한 값 (StoreData이 실행되기 전에, 즉. id = 0, time = "13:00"가) 즉 StoreData 실행, 후 DB (에서 발견 된 값과 같은 것을 주장에 의해 StoreData에 통합 테스트를 실행하고 싶습니다 id 칼럼 = 0time_stamp 칼럼 = "13:00").

나는 LINQ를 사용하는 것에 대해 생각했다. 이것은 좋은 접근 방법입니까 아니면이를 수행하는 더 좋은 방법입니까?

답변

1

기술적으로 이것은 통합 테스트이며 데이터베이스에서 데이터를 다시 읽고 올바르게 표시되는지 테스트하는 것은 완전히 유효합니다.

그러나 단위 테스트로 만들려면 지원 구조를 모방하여 메모리 구조에 포함시킨 다음 StoreData 메서드를 사용하여 데이터베이스를 호출하는 대신이 구조체에 삽입합니다. 일반적으로 다음은 SqlConnectionSqlCommand에 대한 일종의 공장 메커니즘을 만든 다음 쿼리가 메모리 구조를 타겟으로 삼도록 메서드를 오버로드하는 것을 의미합니다.

+0

나는 처음에 이것을 통합 테스트로 의심했습니다. 나는 단위 테스트를 조롱하는 것을 이해합니다. 통합 테스트를 위해 LINQ 또는 다른 것을 사용하여 DB에서 데이터를 읽는 방법에 대한 통찰력을 갖고 있습니까? 귀하의 답변에 감사드립니다. –

+0

글쎄, 당신은 당신이 가지고있는 모든 로딩 메커니즘을 사용할 수 있습니다. 저장을 테스트하는 중이라면 부하를 테스트하지 않습니다. 따라서 저장 코드를 테스트 한 다음 코드를로드하여 요소를 가져 와서 값을 확인할 수 있습니다. – Tejs

+0

그건 나에게 공격 계획을 준다. 감사. –

관련 문제