내 응용 프로그램을 사용할 때 사용자가 트리거 한 이벤트 다음에 비동기로 작업을 실행하는 NSOperationQueue
코드를 사용하여 경쟁 조건을 발견했습니다. 나는 그것을 조사하지 않을 바보 같은 설계 오류이기 때문에 경쟁 조건을 해결하는 방법을 안다.하지만 테스트 케이스로 버그를 증명하고 싶다. (그래서 최적화/리팩토링 중에 다시 돌아 오지 않는다. 선 아래로). 이것은 나를 곤란하게 만든다. 테스트 목적이 경쟁 조건을 생성 할 때 멀티 스레드 스레드를 테스트하는 방법은 무엇입니까?단위 테스트 스레드 기반 코드? 경쟁 조건 강제
스레드 및 단위 테스트를 다루는 데 참조 할 수있는 참조 자료가있는 사람이 있습니까? 저는 특히 경쟁 조건 생성에 관심이 있습니다.
나는 모든 공유 데이터 구조를 조롱하고 모의 객체 안에서 다른 스레드를 "잘못된"순서로 실행하는 데 필요한 모든 동기화를 수행 할 수 있다고 가정합니다. –