Upgrade to Pro — share decks privately, control downloads, hide ads and more …

まだまだ間に合う!JUnit 5入門 / JJUG CCC 2018 Spring

まだまだ間に合う!JUnit 5入門 / JJUG CCC 2018 Spring

JJUG CCC 2018 Spring #ccc_m1

Ryo Shindo

May 26, 2018
Tweet

More Decks by Ryo Shindo

Other Decks in Programming

Transcript

  1.      ) ((( # 2 #

    8 1 1 8 82 C @A 08 8
  2.  •    •    

    • • ) ( J • Copyright © Acroquest Technology Co., Ltd. All rights reserved. 2
  3.  6 2 . 36 3 . 4 6 .

    4 6 7 1 4 6 5 . Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3
  4.     • 040 JIDJ 9 7 7

    • 21 7 • UU7D • .+ 7 I G a • • 89 A7 P K Copyright © Acroquest Technology Co., Ltd. All rights reserved. 8
  5. %  Copyright © Acroquest Technology Co., Ltd. All rights

    reserved. 12     !#&"$& 
  6.      / E D I I

    E 8 E d R 8 R ,522.3 ,51.4 k l 8 8 + e j Copyright © Acroquest Technology Co., Ltd. All rights reserved. 13
  7.   Copyright © Acroquest Technology Co., Ltd. All rights

    reserved. 15  . . 2 . . 1/4 4. 1/4 1 4. 1 12 /. 12 /. 2 / 2 2 / . . . . 2
  8.    - - - - - . /

    - . / . Copyright © Acroquest Technology Co., Ltd. All rights reserved. 16
  9.    - - - - - . /

    - . / . Copyright © Acroquest Technology Co., Ltd. All rights reserved. 17     … 2  …
  10.   • ( ) A • J P A

    5 •        I        5 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 18
  11.       Copyright © Acroquest Technology

    Co., Ltd. All rights reserved. 19     , 4 3 if d d ifgP m IUT 4 c Bcjn D U E eMl E @ @ a d @ 3 3 hJE - eM - l S d d
  12.   . 5 3 - 1 O 6 5

    6 5 1 1 35 1 6 5 - 2 - 41 - 1 6 5 - 2 125 1 5 1 - 1 6 5 - 2 3 - 1 35 - 1 (M - 5 1 B O Copyright © Acroquest Technology Co., Ltd. All rights reserved. 22 G a ) )5 2 - 1 5- B b
  13.    Copyright © Acroquest Technology Co., Ltd. All

    rights reserved. 24  ) (     ) ) ( ( ( (
  14.      )    

       Copyright © Acroquest Technology Co., Ltd. All rights reserved. 25 A A ( ) ;
  15.        ) ) )

    (   ) ) (   ) ) (    ) ) ) ( Copyright © Acroquest Technology Co., Ltd. All rights reserved. 26
  16.       )   

         ) Copyright © Acroquest Technology Co., Ltd. All rights reserved. 27 ( )
  17.    " " ( ) ) ( Copyright

    © Acroquest Technology Co., Ltd. All rights reserved. 28   @ " ( ) ) (  
  18.    -2 = 0 1   

        @ = .0= . ) ,.=3 ( . 2;= . ;2 = ( -2 = 0 1   @ = .0= . ) ,.=3 . ( . 2;= . .0= . ( Copyright © Acroquest Technology Co., Ltd. All rights reserved. 29 
  19.       = A ; @

    @= A ;; @ = @ 2 A =1 ; 0 @=1 ;; @ @ E = ; . = " ( ) AA @ - ;A " ; )    A N N M 2 A A1 ; 0 @=, A ; 3 ; E = ; . A ) AA @ - ;A " ; ) Copyright © Acroquest Technology Co., Ltd. All rights reserved. 30   
  20.     Copyright © Acroquest Technology Co., Ltd.

    All rights reserved. 31  Maven Surefire  @DisplayName 
  21.          Copyright

    © Acroquest Technology Co., Ltd. All rights reserved. 34
  22.     )-2 ; 1 ;2 ; >

    . 2 ; . " . 2 ; . , ; . 2 . 2 " " Copyright © Acroquest Technology Co., Ltd. All rights reserved. 35 )-2 ; 1 ;2 ; > . 2 ; . " . 2 ; . " " , ; . 2 . 2 . 2 ; . " " ( , ; . 2 . 2   
  23.      )1 B D3; E B

    D; 0 D =. = , ; ; ( B = BB ,@D ;B . = " ; B = BB ,@D ;B " ; ; B = BB ,@D ;B " ; Copyright © Acroquest Technology Co., Ltd. All rights reserved. 36 assert  assert 
  24. > E A >D  . 1 ; . ;

    1 ( = = = . =). - . ;)33 , . " ( - . ; -3 , " . 3 .. ; - . " ( - . ; -3 . " . 3 .. 3- ; - . " ( - . ; -3 " . 3 .. -0. Copyright © Acroquest Technology Co., Ltd. All rights reserved. 37  OK assertAllOK     
  25.        Copyright © Acroquest

    Technology Co., Ltd. All rights reserved. 38
  26.    / /= / /. ( 1 0

    / 1 )= / 1 1 ; 1. 0 . 0 ( 1 0 / 1 )= / 1 1 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 39 / A @ E @
  27.    ( BC <; E>; B > <

    A> = C > = B, C;>= I CA I )AA .;BC CA;= BA = )AA .;BC BA > )AA .;BC CA;= BC = )AA .;BC ><< C;>=B > BC" BA ;< , C;>= =>C C A> = C = C > = B, C;>= I BB AC,@ <B > A > B =>C ;C ;= BC " C BB Copyright © Acroquest Technology Co., Ltd. All rights reserved. 40 M L O ;< S OT C
  28. C B   ( @ ; ;A >; )>

    A @ <@ ; )>> E, @ .@> > )>> E, @ > ; )>> E, @ .@> @ )>> E, @ = ; ; )=. - , = ; ; )=. . - ( . . > . >@ =A .;A> ; ;@ @ @ " @ Copyright © Acroquest Technology Co., Ltd. All rights reserved. 41 c I c M S L Ta
  29. B @    . .( ) ( =.

    3 ;; , ; @ =. 3 ; 3 ;; E @ ), ; =. 3 30 @ 3 = 2 ;; = ; = ), ; =. 3 30 @ 3 = 2 ;; = ; = =. 3 ; 3 ;; E @ Copyright © Acroquest Technology Co., Ltd. All rights reserved. 48 ah T d; 3 eh , ; M Ei l c abT
  30.     =. 3 ;; , ; @

    (, ; 30 ib @ 3 = 2 ;; = ; =  ;; e @ (, ; 30 . aE @ 3 = 2 ;; = ; = (, ; 30 ) c @ 3 = 2 ;; = ; = Copyright © Acroquest Technology Co., Ltd. All rights reserved. 49 B M @NestedT dh M T
  31.     =. 3 ;; , ; @

    (, ; 30 @ 3 = 2 ;; = ; =  ;; T @ (, ; 30 . M B @ 3 = 2 ;; = ; = (, ; 30 ) M EB @ 3 = 2 ;; = ; = Copyright © Acroquest Technology Co., Ltd. All rights reserved. 50
  32.       Copyright © Acroquest Technology

    Co., Ltd. All rights reserved. 52
  33.    ). ) ( @ 9 92 ;

    29,2 6.6 . @ 9 2 01 62= (( D) ). .6 @ 9 ; 5 62= ; 29,2 6 9; 29,2 6 ; 29,2 6 ; 62= ) 2 6= .=@6 9; 29,2 6 62 62= ) D D Copyright © Acroquest Technology Co., Ltd. All rights reserved. 53 2
  34. -    / . / . / .

    / ./ ./ / Copyright © Acroquest Technology Co., Ltd. All rights reserved. 54 /.
  35. D    8 >9 9 7 2; 1B97

    07 ;5; ( = 2 = ( , 1 9= @ " " B> S Y > ;7D 1B97 07 ; B97 07 ; 1B97 07 ; B< ;7D 7 ;D 5D ; B97 07 ; > 1;7 6;7D L ( = 2 = ( = 2, 1 0 ) = B> > ;<BD; =B ; D 5D ; 1B97 07 ; B =;D 1B97 07 ; B 7 1B97 07 ; B< ) 7 ;D 5D ; B 7 > ;<BD; B =;D L 7 >9 D;7 ,1B97 07 ;. 8;<BD;07 ; D; D D;7 B< 1B97 07 ; B< ) ( 1B97 07 ; B< ) 1B97 07 ; B< L L Copyright © Acroquest Technology Co., Ltd. All rights reserved. 55 <79 BD ; =B dTcb S RY d a N
  36.  $  "! # Copyright © Acroquest Technology Co.,

    Ltd. All rights reserved. 56 Source  @ValueSource @ValueSource(strings = { “foo”, “bar” }) @EnumSource @EnumSource(value = OS.class, names = {“LINUX”, “MAC”}) @MethodSource Stream  staticfactory method @CsvSource @CsvSource({ "foo, bar" }) @CsvFileSource @CsvFileSource(resources = { “/employees.csv” }, numLinesToSkip = 1) void test(String name, int age) { … } @ArgumentsSource ArgumentsProvider !  @ArgumentsSource(MyArgumentsProvider.class) 
  37.   ), W Tom Re r dFJ  

     • h UW Tip • a cd lE    @ • h 8 R • 8 . ( 4 8 8 n J R Copyright © Acroquest Technology Co., Ltd. All rights reserved. 58
  38.   J 5 eo M b C 5 i

    T C • dp UhR J aH @ fk • , ,55 , , 5 M nl E W B • c dp H Copyright © Acroquest Technology Co., Ltd. All rights reserved. 60
  39.   C ; ; AA C@ = =A =

    ; = A ( : : ). . : ). . @ D A = ; - A -(, () - A @ C@ = .D @@ C ; D @ A C = =A =) = = @ EA = = @ -(, () C A @ " A C@@ = , ;; A .D @@ C ; D @ A C = =A =) = = @ EA = ; = A @ ; = = @ -(, () A @ ; = C@ = A C@@ = , ;; A A @ ,A : ; , : . . : % . : "" = @ -(, () @ D A @ Copyright © Acroquest Technology Co., Ltd. All rights reserved. 61 NOP M
  40.   ( ) . ( : . 5 1

    1 1 50 1 1 50 @ 1 ; @ ) 1: 5 ;1 0 11: Copyright © Acroquest Technology Co., Ltd. All rights reserved. 62 ( ; 5 ( ; 5
  41.  - '") Copyright © Acroquest Technology Co., Ltd. All

    rights reserved. 63 interface &*# BeforeAllCallback ! #  BeforeEachCallback ! #  +@BeforeEach , BeforeTestExecutionCallback ! #  +@BeforeEach  @Test , TestExecutionExceptionHandler %*$(* ExecutionCondition ! #  ,
  42.    . 4 J 4 1 J 4

    2455 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 65
  43.    • R B • , E •

    , • - T E , @ E Copyright © Acroquest Technology Co., Ltd. All rights reserved. 66
  44.    • 3/ 1 -4 2 3/ 3/

    P J P • 3/ /3 . 3./3 J 3 3 a 3/ U d a • 3/ 1 -4 2 c P J Copyright © Acroquest Technology Co., Ltd. All rights reserved. 67
  45.     Copyright © Acroquest Technology Co., Ltd.

    All rights reserved. 68 JUnit Platform JUnit Jupiter JUnit Vintage  
  46.    • n V g i5 e •

    4 • J U 4a / Copyright © Acroquest Technology Co., Ltd. All rights reserved. 69
  47. • h I : A : • j d )

    P IE • ) ( I cg • e D P i / 5. 55- -5 . - Copyright © Acroquest Technology Co., Ltd. All rights reserved. 71