Junit4: рдмрд╛рдзрд┐рдд рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдереНрд░реЗрдб рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреЗ рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рд╕рд┐рддре░ 2016  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: junit-team/junit4

рдЬрдм рднреА рдХреЛрдИ рдЯреЗрд╕реНрдЯ рдХреЗрд╕ рдмрд╛рдзрд┐рдд рд╣реЛрддрд╛ рд╣реИ (Thread.interrupt ()), рддреЛ рдЯреЗрд╕реНрдЯ рд░рдирд░ рдереНрд░реЗрдб рдмрд╛рдзрд┐рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░рд╣рддрд╛ рд╣реИред рдпрд╣ рдмрд╛рдж рдореЗрдВ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ рдЬрдм рдЕрдиреНрдп рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдереНрд░реЗрдб рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░: рдЬрдм рдзрд╛рдЧреЗ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдирдП рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдзрд╛рдЧреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзрд┐рдд рдзреНрд╡рдЬ рдХреЛ рд╕рд╛рдл рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ Thread.interrupted() рдХреЙрд▓ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдмрд╛рдзрд┐рдд рд╕реНрдерд┐рддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдмрд╛рдзрд┐рдд рдзреНрд╡рдЬ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рддрд╛ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ test1 test2 рд╕реЗ рдкрд╣рд▓реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

import org.junit.Test;

public class ThreadTest {
  <strong i="9">@Test</strong>
  public void test1() {
    Thread.currentThread().interrupt();
  }

  <strong i="10">@Test</strong>
  public void test2() throws InterruptedException {
    Thread.sleep(1000);
  }
}

рдореБрдЭреЗ рдЬрд┐рд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╡рд╣ https://www.thinkwire.com/junit-interupt/ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рди рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВ рдкреНрд░рддреНрдпреЗрдХ рдереНрд░реЗрдб рдкрд░ Thread.interrupted() рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдПрдХ рдирдП рдЯреЗрд╕реНрдЯ рдХреЗрд╕ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЯреЗрд╕реНрдЯ рдХреЗрд╕ рдХреЗ рд▓рд┐рдП рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрджрд┐ рдПрдХ рдереНрд░реЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЯреЗрд╕реНрдЯ рдХреНрд▓рд╛рд╕ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмрд╛рдзрд┐рдд рдзреНрд╡рдЬ рд░рд╛рдЬреНрдп рд╣реИ рдЬреЛ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рд▓реАрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рдорд▓реЗ рдкрд░рддрджрд╛рд░ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рдорд▓реЗ рдЬреЛ рдХрдИ рдзрд╛рдЧреЗ рд╕реЗ рдирд┐рдкрдЯрддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ рд╡реИрд╕реЗ рднреА рд╕рд╣реА рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЦреНрдпрд╛рдд рд╣реИрдВред

рд╕рднреА 14 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЕрдЧрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди рдмрд╛рдзрд┐рдд рдмрд┐рдЯ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рддреЛ рдЬреБрдиреАрдЯ рдХреЛ рдЕрдиреНрдпрдерд╛ рдЙрддреНрддреАрд░реНрдг рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдирд╣реАрдВ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рдЕрдиреНрдпрдерд╛ рдЙрддреНрддреАрд░реНрдг рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рд▓рдЧреЗрдВрдЧреЗ, рдФрд░ рдлрд┐рдХреНрд╕ interrupted() рдХреЙрд▓ рдХреЛ рд╣рд░ рдЬрдЧрд╣ рдЫрд┐рдбрд╝рдХрдирд╛ рд╣реЛрдЧрд╛ред

рдпрд╣ рднреА рд╕рд╡рд╛рд▓ рд╣реИ рдХрд┐ рдХреНрдпрд╛ ExpectesException assertThrows() рдпрд╛ expectThrows() рдХрднреА рднреА рдмрд╛рдзрд┐рдд рдмрд┐рдЯ рдХреЛ рд╕рд╛рдл рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЪрд╛рд╣рд┐рдПред

@ рдЬреВрдирд┐рдЯ-рдЯреАрдо/рдЬреВрдирд┐рдЯ-рдХрдорд┐рдЯрд░реНрд╕ рд╡рд┐рдЪрд╛рд░?

рдореИрдВ рдкреНрд░рддреНрдпреЗрдХ рдереНрд░реЗрдб рдкрд░ Thread.interrupted() рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдПрдХ рдирдП рдЯреЗрд╕реНрдЯ рдХреЗрд╕ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЯреЗрд╕реНрдЯ рдХреЗрд╕ рдХреЗ рд▓рд┐рдП рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрджрд┐ рдПрдХ рдереНрд░реЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЯреЗрд╕реНрдЯ рдХреНрд▓рд╛рд╕ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмрд╛рдзрд┐рдд рдзреНрд╡рдЬ рд░рд╛рдЬреНрдп рд╣реИ рдЬреЛ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рд▓реАрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рдорд▓реЗ рдкрд░рддрджрд╛рд░ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рдорд▓реЗ рдЬреЛ рдХрдИ рдзрд╛рдЧреЗ рд╕реЗ рдирд┐рдкрдЯрддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ рд╡реИрд╕реЗ рднреА рд╕рд╣реА рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЦреНрдпрд╛рдд рд╣реИрдВред

@kcooney рдореИрдВ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

@npathai рд╢рд╛рдирджрд╛рд░!

рдЕрднреА рднреА рдПрдХ рдЦреБрд▓рд╛ рдкреНрд░рд╢реНрди рд╣реИ рдХрд┐ рдХреНрдпрд╛ ExpectedException рдпрд╛ assertThrows() рдХреЛ рдХрднреА рднреА рдмрд╛рдзрд┐рдд рдмрд┐рдЯ рдХреЛ рд╕рд╛рдл рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред @ рдЬреВрдирд┐рдЯ-рдЯреАрдо/рдЬреВрдирд┐рдЯ-рдХрдорд┐рдЯрд░реНрд╕ рд╡рд┐рдЪрд╛рд░?

рдЖрдИрдПрдордПрдЪрдУ рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж рдмрд╛рдзрд┐рдд рдзреНрд╡рдЬ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдореЗрдВ рдЗрд╕реЗ ExpectedException рдФрд░ assertThrows() рдореЗрдВ рд╕рд╛рдлрд╝ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж рд╕рд╛рдлрд╝ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

@kcooney рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдХреНрдпреЛрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ExpectedException рдФрд░ assertThrows() рдХреЛ рдЭрдВрдбрд╛ рд╕рд╛рдл рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

@stefanbirkner рд╕рд╛рдорд╛рдиреНрдп рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдЬреЛ рдореИрдВрдиреЗ рдкрдврд╝рд╛ рд╣реИ, рдЬрдм рднреА рдЖрдк InterruptedException рдкрдХрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рдлреЗрдВрдХрддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ interrupt рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рджреЗрдЦреЗрдВ https://www.ibm.com/developerworks/library /j-jtp05236/index.html рдФрд░ "рдбреЛрдВрдЯ рд╕реНрд╡реЙрд▓реЛ рдЗрдВрдЯрд░рдкреНрдЯреНрд╕" рдЦреЛрдЬреЗрдВ)ред рдЪреВрдВрдХрд┐ ExpectedException рдФрд░ assertThrows() рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ "рдирд┐рдЧрд▓" рджреЗрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рд▓реЛрдЧреЛрдВ рдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рд╣рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

FWIW, рдореИрдВрдиреЗ JUnit 5 рдореЗрдВ interrupted() рдХреЙрд▓ рдХреЗ рд▓рд┐рдП GitHub рдореЗрдВ рдПрдХ рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдХреА рдФрд░ рдореБрдЭреЗ рдХреЛрдИ рдХреЙрд▓ рдирд╣реАрдВ рдорд┐рд▓реАред

@kcooney @stefanbirkner рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ IDE рдХреИрд╕реЗ JUnit рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рд╣реИред рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдЯреЗрд╕реНрдЯ рдХреЗрд╕ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ

<strong i="8">@Test</strong>
  public void test1() throws InterruptedException {
    Thread.sleep(100000);
  }

<strong i="9">@Test</strong>
  public void test2() throws InterruptedException {
    Thread.sleep(100000);
  }

рдФрд░ рдореИрдВ IDE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреЗрд╕реНрдЯ рдХреЗрд╕ рдХреЛ рдЬрдмрд░рджрд╕реНрддреА рд░реЛрдХ рджреЗрддрд╛ рд╣реВрдВред рдХреНрдпрд╛ рдЖрдИрдбреАрдИ рдереНрд░реЗрдб рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдЬреБрдиреАрдЯ рдкрд░реАрдХреНрд╖рдг рдпрд╛ рдХреБрдЫ рдФрд░ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░реЗрдЧрд╛?
рдореИрдВрдиреЗ IntelliJ рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдЬрд╛рдБрдЪ рдХреА, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрдм IDE рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рдмрд▓рдкреВрд░реНрд╡рдХ рд░реЛрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ Process finished with exit code 130 (interrupted by signal 2: SIGINT) рджреЗрддрд╛ рд╣реИред
рдореИрдВ рдЧреНрд░рд╣рдг рдЬреЗрдбреАрдЯреА рд╕реНрд░реЛрдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛ рдЧрдпрд╛ рдФрд░ рдкрд╛рдпрд╛ рдХрд┐ рд╡реЗ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд░рд┐рдореЛрдЯ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдореЗрд░рд╛ рд╕рдВрджреЗрд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рд░реБрдХрд╛рд╡рдЯ рдХрд╛ рд╕рдореНрдорд╛рди рди рдХрд░рдХреЗ рдФрд░ рдЗрд╕реЗ рдирд┐рдЧрд▓ рдХрд░ Thread.interrupted() рд╕рдореНрдореЗрд▓рди рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдЕрдЧрд░ IDE рдПрдХреАрдХрд░рдг рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ JUnit рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдЖрдЧреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП junitThread.interrupt() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдЙрд╕ рдЕрдиреБрд░реЛрдз рдХрд╛ рд╕рдореНрдорд╛рди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рддреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрдм test1 рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдореИрдВ рдЖрдИрдбреАрдИ рд╕реЗ рд╕реНрдЯреЙрдк рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдЗрд╕реЗ рд╡рд░реНрддрдорд╛рди рд╡рд┐рдзрд┐ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рдЖрдЧреЗ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рдирд╣реАрдВ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреНрдпрд╛ рдЗрдВрдЯрд░рдкреНрдЯ рд╕реНрдЯреЗрдЯрд╕ рдлреНрд▓реИрдЧ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрдЧрд╛ред

рдпрджрд┐ рдкреНрд░рд╢реНрди рдЧреВрдВрдЧрд╛ рд╣реИ рддреЛ рдореИрдВ рдХреНрд╖рдорд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдореБрдЭреЗ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдИрдбреАрдИ рдХреИрд╕реЗ рдПрдХреАрдХреГрдд рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдореЗрд░реЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓ рд╕рдХреЗрдВ рддреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

@ npathai рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдИрдбреАрдИ RunNotifier.pleaseStop() рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ

рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЪрд┐рдВрддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ: рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдпрджрд┐ IDE рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдереНрд░реЗрдб рдкрд░ pleaseStop() рдлрд┐рд░ Thread.interrupt() рдкрд░ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ?

рдпрджрд┐ рд╡рд╣ рдереНрд░реЗрдб рдмреНрд▓реЙрдХрд┐рдВрдЧ рдореЗрдердб рдореЗрдВ рдирд╣реАрдВ рд╣реИ рдФрд░ рдмреНрд▓реЙрдХрд┐рдВрдЧ рдореЗрдердб рдХреЛ рдХреЙрд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЯреЗрд╕реНрдЯ рд░рди рд╡рд░реНрддрдорд╛рди рдЯреЗрд╕реНрдЯ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдирд┐рд░рд╕реНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ ( pleaseStop() )ред

рдЕрдЧрд░ рд╡рд╣ рдереНрд░реЗрдб рдмреНрд▓реЙрдХрд┐рдВрдЧ рдореЗрдердб рдореЗрдВ рд╣реИ рдпрд╛ рдмреНрд▓реЙрдХрд┐рдВрдЧ рдореЗрдердб рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ InterruptedException рдлреЗрдВрдХ рджреЗрдЧрд╛ред рдпрджрд┐ рдкрд░реАрдХреНрд╖рдг рдЙрд╕ рдЕрдкрд╡рд╛рдж рдХреЛ рдирд╣реАрдВ рдкрдХрдбрд╝рддрд╛ рд╣реИ рддреЛ рд╡рд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдлрд┐рд░ рдкрд░реАрдХреНрд╖рдг рд░рди рдирд┐рд░рд╕реНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдпрджрд┐ рдкрд░реАрдХреНрд╖рдг рдЕрдкрд╡рд╛рдж рдирд┐рдЧрд▓ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЪреАрдЬреЗрдВ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред

рд╣рдо рдЕрдЪреВрдХ рдореЗрдВ рдХреГрдкрдпрд╛ рд╕реНрдЯреЙрдк () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐
рдЬреБрдиреАрдЯ рдХрд╛ рд╢реЗрдбреНрдпреВрд▓рд░ рдПрдХ рдирдпрд╛ рд░рдирдиреЗрдмрд▓ (рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдзрд┐) рд╢реЗрдбреНрдпреВрд▓ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди
рд▓рдВрдмрд┐рдд рд╡рд┐рдзрд┐ рдЬрд╛рд░реА рд╣реИред

рд╢реБрдХреНрд░, реп рдирд╡рдВрдмрд░, реирежрезрео рдХреЛ рд╢рд╛рдо рел:рекрео рдмрдЬреЗ рдХреЗрд╡рд┐рди рдХреЛрдиреА рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЪрд┐рдВрддрд╛ рдпрд╣ рд╣реИ: рдЕрдЧрд░ рдЖрдИрдбреАрдИ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ
рдХреГрдкрдпрд╛ рд░реЛрдХреЗрдВ () рдлрд┐рд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдзрд╛рдЧреЗ рдкрд░ Thread.interrupt ()?

рдпрджрд┐ рд╡рд╣ рдереНрд░реЗрдб рдмреНрд▓реЙрдХрд┐рдВрдЧ рдореЗрдердб рдореЗрдВ рдирд╣реАрдВ рд╣реИ рдФрд░ рдмреНрд▓реЙрдХрд┐рдВрдЧ рдХреЛ рдХреЙрд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
рд╡рд┐рдзрд┐, рд╡рд░реНрддрдорд╛рди рдкрд░реАрдХреНрд╖рдг рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдкрд░реАрдХреНрд╖рдг рд░рди рдирд┐рд░рд╕реНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ (рдХреЗ рдХрд╛рд░рдг
рдмрдВрдж рдХрд░реЛ()

рдпрджрд┐ рд╡рд╣ рдереНрд░реЗрдб рдмреНрд▓реЙрдХрд┐рдВрдЧ рдореЗрдердб рдореЗрдВ рд╣реИ рдпрд╛ рдмреНрд▓реЙрдХрд┐рдВрдЧ рдореЗрдердб рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╣реЛрдЧрд╛
рдмрд╛рдзрд┐рдд рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХреЗрдВред рдпрджрд┐ рдкрд░реАрдХреНрд╖рдг рдЙрд╕ рдЕрдкрд╡рд╛рдж рдХреЛ рдирд╣реАрдВ рдкрдХрдбрд╝рддрд╛ рд╣реИ
рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рддреЛ рдкрд░реАрдХреНрд╖рдг рд░рди рдирд┐рд░рд╕реНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдпрджрд┐ рдкрд░реАрдХреНрд╖рдг рдЕрдкрд╡рд╛рдж рдирд┐рдЧрд▓ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЪреАрдЬреЗрдВ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/junit-team/junit4/issues/1365#issuecomment-437420750 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AA_yR9IgJF3rTXtFz9y9EIBig914twYYks5utbHrgaJpZM4KIg2k
.

--
рдЪрд┐рдпрд░реНрд╕
рддрд┐рдмреЛрд░

рдХреНрдпрд╛ рдЗрд╕реЗ рдЬреБрдиреАрдЯ 5 рдореЗрдВ рдЪреЗрд░реА-рдЪреБрдирд╛ рдирд╣реАрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдореБрдЭреЗ 5.3.2 рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред

@joaodias14 рдХреГрдкрдпрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ, рдпрд╣ 5.4.0 рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рджреЗрдЦреЗрдВ https://github.com/junit-team/junit5/issues/1688)ред

рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж @marcphilipp!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

javornikolov picture javornikolov  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

akarnokd picture akarnokd  ┬╖  27рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kluever picture kluever  ┬╖  16рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Reissner picture Reissner  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

aleenadavy90 picture aleenadavy90  ┬╖  13рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ