Я полагаю, что вы хотите протестировать только реализованный метод run()
, поэтому вы можете вызывать метод напрямую, используя объект Processor
, или вы можете создать поток и передать ему работающий объект и вызвать Thread.start()
* 1005.* Если
sendRequest(Object object)
метод выполняет какие-либо внешние операции, я предлагаю вам смоделировать этот метод
public class ThreadTest {
@Test(//throws some exception)
public void shouldThrowSomeException() {
Processor exThread = new Processor ();
exThread.run(); //or
Thread t = new Thread(exThread);
t.start()
}
}
Насмешка для насмешки здесь
@Test(//throws some exception)
public void shouldThrowSomeException() {
Processor exThreadmock = mock(Processor.class);
when(exThreadmock.sendRequest(anyObject))
.thenThrow(SomeException.class)
Thread t = new Thread(exThread);
t.start()
}