이 asp.net에서 교착 상태가 발생할 가능성을 제거하고 있습니다. 코드가 제대로 처리되도록하려면 교착 상태를 유발하는 NUnit 테스트를 작성하려고합니다 .....Nunit에서 데이터베이스 교착 상태 테스트를 만들 수 있습니까?
DAO는 엔티티별로 분할됩니다. 각 엔터티에는 Startup() 및 Teardown() 메서드로 둘러싸인 일련의 테스트가 있으며,이 메서드는 트랜잭션 범위를 만든 다음 테스트가 완료된 후에 롤백합니다. 이것은 다른 모든 것에 잘 작동하지만 교착 상태에서는 완전히 쓸모가 없습니다.
안정적으로 재현 할 수있는 TransactionScope 및 SQL2000 (예 : MSDTC가 포함됨)을 사용하여 "교착 상태"테스트를 설정하고 실행할 수 있습니까? 세부 정보 : 두 명의 사용자가 서로 다른 특정 데이터 값을 사용하여 두 개의 함수를 호출하면 교착 상태가 일 수 있으므로 결과가 나타나는 경우가 있습니다. 어떻게 NUNIT 내에서 이것을 시뮬레이션 할 수 있습니까? 그리고 교착 상태를 항상이 발생하게 만드시겠습니까?
그렇습니다. "처음에는 교착 상태가 발생하지 않도록하는 것이 좋습니다"라는 계획부터 시작했지만 교착 상태가 발생할 수있는 코드를 제어 할 수는 없습니다. 교착 상태가 될 수 있습니다.
나는이 아이디어를 좋아한다. Mock 프레임 워크에 대한 아이디어가 있지만 사용하지는 않았습니다. 나는 "ExpectAndThrow"메쏘드가 실제로 예외가 던져지게 할 것이므로, 나의 코드가 그것을 잡을 수 있다고 가정하고있다. 나는 이것을 더 깊이 살펴볼 것이다. –
그게 정확히 무엇입니까. 나는 그것을 사용하지 않았지만, 예산 문제가 있다면 Rhino.Mocks는 무료입니다 : http://ayende.com/projects/rhino-mocks.aspx –