현재 Task
을 감독하고있는 Supervisor
이 있습니다. 작업은 비동기 적으로 전자 메일을 보내고 데이터베이스를 업데이트하는 작업을 담당합니다. 작업이 테스트와 관련이 없지만 이러한 작업을 시작할 함수를 테스트하고 있습니다.테스트 중 문제가 발생하는 작업
테스트를 실행하면 Ecto.StaleEntryError
의 출력이 STDOUT으로 인쇄됩니다. 테스트가 끝나고 작업이 실행되기 전에 Ecto가 레코드를 삭제할 것이기 때문에 이런 일이 일어나고 있다고 생각합니다. 레코드를 업데이트하려고 시도하면 레코드가 존재하지 않으므로 Ecto.StaleEntryError
이 발생합니다.
부수적으로 테스트가 실패하지 않습니다. 스택 추적 만 인쇄합니다.
나는 어떻게해서든지 작업을 실행하지 못하도록 막아야하는지, 아니면 다른 접근 방법이 있는지 확실하지 않습니다.
관리자와 어떤 관계가 있는지 이해할 수 없습니다. 실제로 감독자를 시작하지 않고 단일 감독 기능을 테스트하려고합니까? – Tyler
내 테스트와 관련이 없으므로 태스크가 실행되지 않도록하고 테스트 출력에 스택 추적을 던지고 싶습니다. 나는 접근이 감독자가 실행하지 못하도록하는 방법을 생각하여 작업이 실행되지 않도록했습니다. 이 방법이 올바른지 확실하지 않은 경우 어떻게해야할지 잘 모르겠습니다. – anthonator