Kronos Engineer
  Conference
 2008 Summer

                  1
Java is
Enterprise
Language.

             2
Beyond JUnit3


                3
今日のまとめ


         4
JUnit3は古く
なってしまった


            5
新しいF/Wに
変えていこう


          6
開発効率が
上がるから


        7
それはTestNGか
 JUnit4だよ


             8
ご清聴ありがとう
ございました(マテ


            9
JUnit3の弱点


            10
1.ステートフルでない



              11
BeginningTest.java



                     12
2.テストメソッドごと
にインスタンスを作る


              13
3.メソッド名が固定



             14
JUnit3Sample.java



                    15
4.例外テストが複雑



             16
JUnit3Exception.java




                       17
5.引数が渡せない


            18
JUnit3Sample.java



                    19
6.新たな技術を用
   いていない


            20
e.g. アノテーション



               21
7.貧弱な前後処理


            22
JUnit3Sample.java



                    23
これらを乗り越え
 たのがTestNG


             24
TestNGからインスパ
イアされたのがJUnit4



                25
そういう図式です


           26
実際にはこんなに
  違います


           27
Michael Minella - Michael Minella
<http://www.michaelminella.com/blog/2.html>

                                              28
ただし、
TestNGは


          29
JUnitの拡張と
 連携できます


            30
既存の
JUnitテストを


            31
コンバートする
機能もあります


          32
JUnit4


         33
JUnit4Sample.java



                    34
アノテーション


          35
• @Test
• @Before/@After
• @BeforeClass/@AfterClass


                             36
例外テスト


        37
TestNG


         38
TestNGSample.java



                    39
• @BeforeMethod/@AfterMethod
• @BeforeClass/@AfterClass
• @BeforeTest/@AfterTest
• @BeoferSuite/@AfterSuite


                               40
設定ファイル
testng.xml


             41
テストプログラムと
実行方法を分離する


            42
データ駆動テスト


           43
@DataProvider


                44
DataProviderSample
       .java



                     45
JUnitでは、
コンストラクタのみ


            46
ParameterSample
     .java


                  47
マルチスレッド
  テスト


          48
MultiThreadSample
      .java



                    49
テストの
グループ化


        50
テスト間の
依存関係を設定可


           51
GroupSample.java



                   52
終わりに


       53
技術の進歩は


         54
効率をよくする


          55
プロジェクトに
 合わせて


          56
使うプロダクトを
 考えましょう


           57

Beyond JUnit3