Test tool / .NET

【MS-Test】【C#】ファイルアクセス に関するテストあれこれ

■ ファイルの存在チェックに関するテスト ファイルが存在しないテストをするために * テスト前に、以下のようなメソッドを実行してからテストする ファイル削除 // ファイルを消す public void DeleteFileIfExists(string filePath) { if (File.Exists(fileP…

【MS-Test】【C#】private に関するテスト

■ private のコンストラクタに関するテスト 構文 var privateInstance = (【対象クラス】)Activator.CreateInstance(typeof(【対象クラス】), true); 参考文献 http://cookie40000.hatenablog.com/entry/2016/04/06/203437 https://stackoverflow.com/questi…

【C#】カバレッジツール / AxoCover ~ 初期設定編 ~

■ はじめに * Visual Studioでは、Enterprise以降でないと、カバレッジツールはついてこない => 無料のカバレッジツール「AxoCover」を扱う ■ AxoCover * 無料のVS用カバレッジツール * 読み方は、「アクソカバー?」「エーエックスオーカバー?」 ■ 公式サ…

【VisualStudio】【MS-Test】単体試験で外部ファイル(CSVなど)からデータを取得する

■ 概要 * 全網羅するのに凄く便利。 * 文言を出力する機能のテストによさそう。 * CSVだけではなく、XMLやDBデータもある ■ 手順 [1] VSの[テスト]-[ウィンドウ]-[テストリストエディタ]を選択 [2] 該当のテストの行を右クリックして[プロパティ]を選択 [3] …

【NUnit】【Mock】Moles ~導入編~

■ 概要 * Microsoft Research製のモックフレームワーク 特徴 * 既存のクラスの静的/インスタンスメソッド/プロパティの動作を、自由に置き換えることが可能 ⇒つまり、Console.WriteLineやDateTime.Nowといったものまで自由にコントロール可能 ■ Webサイト ht…

【C#】【NUnit】 NUnit ~ あれこれ編 ~

■ 前処理 / 後処理 * VSのUnitテストとは異なる 前処理 * Setup()をオーバーライドする 後処理 * TearDown()をオーバーライドする ■ 許容誤差を考慮する 対策 * 以下のように第3引数で許容誤差を指定すればいい Assert.AreEqual([期待する値], [テストする値…

【MS-Test】ファイルを使う機能の単体試験について

■ やりたいこと 引数にファイルパスを受け取って、そのファイルパスから設定ファイルを読み込んで、 処理を行うメソッドの単体試験を作成した時に、テストで使用するファイルをテストのパターンで変えたい。 ■ 問題点 http://gushwell.ldblog.jp/archives/50…

【C#】DataGridViewのイベントに関する単体試験

■ はじめに * NUnitFormでは、DataGridViewのイベントに関する単体試験が現状できなさそうなので、 代わりにダミークラスでDataGridViewをラップして単体試験を行う ■ サンプル http://blogs.yahoo.co.jp/dk521123/23687833.html の単体試験を行う。 コード …

【C#】【NUnit】 NUnitForms ~ あれこれ編 ~

■ はじめに 今回行う事項 【1】GroupBoxやPanelなどの上のコントロールを取得するには 【2】タブにあるコントロールをテストするには 【3】DataGridViewなどサポートされていないコントロールをテストするには 【1】GroupBoxやPanelなどの上のコントロー…

【C#】【Mock】Moq ~ サンプルコード編 ~

■ サンプル モック対象インターフェイス namespace NUnitForm { public interface ISampleInterface { int Sum(int value1, int value2); int Max(int value1, int value2); } } テストコード using System; using NUnit.Framework; using Moq; // 追加 usin…

【C#】【Mock】Moq ~ 文法編 ~

■ Mockインスタンス作成とMockオブジェクト取得 構文 // テストしたいクラスのモックオブジェクトを作成 Mock<対象とするインターフェイス・クラス> mock = new Mock<対象とするインターフェイス・クラス>(); mock.Setup(m => m.テストしたいメソッド名(パラ…

【C#】【Mock】Moq ~ 初期設定編 ~

■ モックについて * 以下を参考。 http://journal.mycom.co.jp/articles/2009/06/15/moq/index.html http://blogs.wankuma.com/masaru/archive/2010/12/03/195469.aspx ■ Moq * 読み方は、モッキュ ■ 環境設定 / NuGet編 https://blogs.yahoo.co.jp/dk521123…

【C#】【NUnit】 NUnitForms ~ サンプル編 ~

■ Button サンプル ButtonTester buttonTester = new ButtonTester("button1"); // 定義 buttonTester.Click(); // クリック ■ TextBox サンプル TextBoxTester textTester = new TextBoxTester("textBox1"); // 定義 Assert.AreEqual(255, textTester["MaxL…

【C#】 【NUnit】 NUnitForms ~ Hello World編 ~

■ デザイン * 分かりやすいようにシンプルにする * Textbox : 1 * button : 1 ■ サンプルコード * デザイン([NUnitFormSample]-[NUnitSampleForm.cs])とは 別プロジェクト(以下の例では「FormTest」)で、テストクラスを記述する コード using NUnit.Extensio…

【C#】【NUnit】 NUnit ~ 初期設定編 ~

■ 設定 環境 * VS : Microsoft Visual Studio 2010 Express (10.0.3) * NUnit : NUnit-2.5.9.10348.msi (新しくないとVS2010に対応していないので注意) 手順 参考資料を参考にすればできるが、VS2010用にちょっと修正 1. ダウンロードページより登録を行い、…

【MS-Test】【C#】MS-Test あれこれ

■ 戻り値に関する単体試験 [TestMethod()] public void テストコードです() { TestClass obj = new TestClass() int returnVal = obj.TestMethod(); Assert.AreEqual(111, returnVal ); // ★第一引数が期待値、第二引数が比較対象値 } ■ 例外に関する単体試…