2012-04-06 1 views
4

최근에 TST (tst.codeplex.com)를 사용하여 저장 프로 시저를 테스트하기 시작했으며 매우 유용하다는 단점이 있습니다. 그러나 한 가지 단점은 종속성을 격리 할 수 ​​없으며 '모의 '다른 SP/함수 호출 (예 : C# 객체 종속성 에서처럼). 이 기능을 TST에 추가하거나 새로운 프레임 워크를 작성하는 데 시간을 할애하지 않지만 실제로 시작하는 방법을 알지 못합니다.TST 사용 중 SP 호출 (Mocking)

아이디어가 있으십니까? 어떤 도움을 주셔서 감사합니다.

추신 : 나는 SP가 테스트를 염두에두고 설계된 적이 없다는 것을 알고 있지만 이미 100 개가 넘는 SP가있는 기존 프로젝트에 큰 도움이 될 수 있습니다.

답변

0

나 자신과 비슷한 것으로 고투하고 있으며 다음 사항이 SP의 조롱에 접근 할 수 있는지 궁금합니다.

그냥 테스트 프레임 워크가해야 조롱 SP 요구하는 테스트 실행하기 전에 : 동일한 매개 변수

  • 에있는 새 SP를 만들
  • :

    • 이 (HiddenSp 예에) 원래의 SP 이름을 변경을 새로운 SP의 추가 코드는 조롱 응답
    • 이 경우 필요한 조롱 응답을 제공 요구되는 파라미터들의 이러한 조합에 대한 확인
    • 또는
    • ,174 내가 추가됩니다 ...이라고 생각되다
    • 는하지만, 우리는 TST를 사용하지 않는 원래의 SP

    의 이름을 되돌아 모의

  • 을 삭제 실행에 원래 SP
  • 을 통해 테스트를 요청을 전달합니다 우리의 (손으로 구르는) SQL 테스트 프레임 워크에 이와 같은 것입니다. 몇 주 동안 그 일이 생기지 않을 것이므로, 이것이 효과가 있는지 듣고 싶습니다.

  • 2

    이름 바꾸기 접근법이 이상적인 것은 아니지만 실제로는 이전 답변을 돕는 것이 효과적입니다. 나는 SSDT 데이터베이스 프로젝트에 대한 의미 블로그 게시물을-ED 데모,하지만 원칙은 동일합니다 :

    http://tsqlt.org/user-guide/isolating-dependencies/

    :

    https://tangodude.wordpress.com/2014/02/08/ssdt-database-projects-mocking-database-objects-for-isolated-unit-testing-kind-of/

    tSQLt 비록 조롱에 모든 라운드 더 나은 지원을하고있다