2009-11-17 5 views
2

스칼라 스펙을 사용하여 일부 액터를 테스트하려고합니다. IDEA 또는 Maven (junit)에서 테스트를 실행하고 종료하지 않습니다. 코드를 살펴보면 테스트가 끝났지 만 일부 내부 스레드 (스케줄러)가 돌아 다니고 있습니다. 테스트를 어떻게 끝낼 수 있습니까?액터 테스트시 스칼라 스펙이 종료되지 않습니다.

답변

1

현재이 강제 종료 액터 프레임 워크의 스케줄러의 원인으로 만 가능합니다 :

scala.actors.Scheduler.impl.shutdown 

그러나, 스케줄러의 구현이 최근 패치 릴리스에서 변경되었습니다, 그래서이 다를 수 있습니다, 당신이있는 버전으로는 꽤 잘 작동하지 않습니다. shutdown 방법은 무 조작

이를 그대로 2.7.7에서 기본 스케줄러는 SingleThreadedScheduler은하지 않습니다 당신은 결국 그러나 경우,이 방법이 작동해야하는 scala.actors.FJTaskScheduler2의 인스턴스로 나타납니다 귀하의 배우가 그때 react에서 기다리지 않는 경우에만 작동합니다.

+0

이것은 나를 위해 작동하지 않습니다 (2.7.7 사용) – IttayD

+0

정확히 무엇을하고 있습니까? 틀림없이 스펙을 사용하지는 않지만 액터 스레드 풀 스레드에서 종료하지 않는 것은 문제가 없습니다. –

관련 문제