C#でのNunitの使い方入門

13,325 views

Published on

Published in: Career
0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
13,325
On SlideShare
0
From Embeds
0
Number of Embeds
148
Actions
Shares
0
Downloads
36
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide

C#でのNunitの使い方入門

  1. 1. C#でのNUnitの使い方入門How to use NUnit in C#
  2. 2. 自己紹介   森理 麟(@moririring)● 職業 : ゲームプログラマ● HP : 森理 麟(moririring)のHP● ブログ : 森理 麟(moririring)のプログラマブログ● VSハッカソン倶楽部代表、EffectiveC++読書会 運営、MetroStyleDeveloperスタッフ、 TDDBCTA、わんくま同盟スタッフ● MicrosoftMVP for C#
  3. 3. 本日の動作環境VS2010のExpressを使った時の話。OSはWindowsXP32bit。VS2012やProfessionalでは少し状況が違う。現状まだこの環境も多いと判断。
  4. 4. NUnitの初期設定Initial setting of NUnit
  5. 5. NUnitの入手NUnitをダウンロード。2012年10月22日に2.6.2。特に2.5系を使っている人はバージョンアップを!
  6. 6. NUnitの初期設定:DEMO1NUnitの設定を変更。「Tools」の「Setting」を選択。「IDE Support」の「Visual Studio」を選択。「Enable Visual Studio Support」をチェック。
  7. 7. VS初期設定現在のプロジェクトとは別にテスト用のプロジェクトを今のテンプレートと同じで作るのがおススメ。プロジェクトを分けるメリット●テストコードが実プロジェクトに入らない。●参照設定に無駄なDLLが入らない。●プロジェクト名やnamaspaceにtestと付けられ て分かりやすい。
  8. 8. DLL追加テスト用のプロジェクトで「参照設定」を右クリック。「参照の追加」を選択。nunit.frameworkを追加。
  9. 9. ソース記載:DEMO2メソッド前に[Test]と書いて波線で「ctrl + .」を押す。次にテストに表示したい日本語メソッドを追加。using NUnit.Framework;//←ctrl+.で自動追加namespace WindowsFormsApplicationTest{ class TestClass { [Test]//←ココでctrl+. public void テストします() //←日本語OK { int a = 1; Assert.True(a == 1); } }}
  10. 10. NUnitの注意点● 実行ファイルをテストするので変更したらビルド● テストに使うクラスやメソッドはpublicで宣言。● DLLの問題(64bit,32bit)で動かない事がある。● NUnitインストール先の「nunit.exe」と「nunit- x86.exe」を使い分ける。● もしくは「x86」設定を「Any CPU」設定に変更す る。
  11. 11. NUnitの弱点と回避Weakness and avoidance of NUnit
  12. 12. NUnitの弱点NUnitは初期設定のままだとテンポが悪い● 自動起動しないので初回時起動が必要● 理由があって終了した時も当然起動が必要● ビルド後ウィンドウ切り替えが必要● デバッグ実行が癖になっていると終了も必要● 切り替えた後手動で実行ボタンが必要
  13. 13. 自動実行そこでテストプロジェクトのcsprojを直接編集して以下の3行を足す。こうすると自動実行出来る。<StartAction>Program</StartAction><StartProgram>C:Program FilesNUnit 2.6.1binnunit-x86.exe</StartProgram><StartArguments>/run</StartArguments>● 「スタートアッププロジェクトに設定」が必要。● //Application.Run(new Form1());
  14. 14. デバッグ:DEMO3またデバッグ中にブレークポイントを入れたいならnunit.exe.configを編集。多分バグ?止めたくない時は「デバッグなしで開始」を選べば良い。<supportedRuntime version="v2.0.50727" /><supportedRuntime version="v4.0.30319" />↓<!-- <supportedRuntime version="v2.0.50727" />--><supportedRuntime version="v4.0.30319" />
  15. 15. 別の自動実行:DEMO4「参照設定」を右クリックして「参照の追加」を選択。nunit-gui-runner.dllを追加。(コンソールならnunit-console-runner.dll)mainメソッドに直接以下の一文を書く。これで自動実行。この方法だと32,64bit問題もなし。//↓この一文を追加、, "/run"を書くと自動実行NUnit.Gui.AppEntry.Main(new string[] {System.Windows.Forms.Application.ExecutablePath, "/run" });
  16. 16. テストクラスの設定:DEMO5テスト側でクラスを作るなら宣言なしに実体を定義して波線で「ctrl + .」。しかし、実際にテスト側でテストしてから本体に持っていくと色々修正が必要。● ドラッグで移動するのがもう面倒● デフォルトがコピーだったりする罠がある● 本体とテストでnamespaceが違う● アクセス出来るように参照の追加が必要● アクセスレベルを変えないと駄目
  17. 17. VS機能でクラス作成:DEMO6波線で「ctrl + .」で「新しい方の生成」から作ると以下を一手でやる。特に最初の1回目は超楽。● プロジェクトの設定● 参照の追加● usingの追加● ファイルの追加● ダミークラスの作成メソッドも先に定義して波線で「ctrl + .」でスタブ。
  18. 18. まとめ簡単な設定を覚えてしまえばNUnitでもかなりテンポよくテストが書ける。さあ、もっとテストを書こう!static void Main(){ System.Console.WriteLine("Hello Test World!");}「ようこそ、テストのある世界へ」。
  19. 19. 以上ご清聴有難うございました。

×