WINフォームを2つ作成しています。(Maintenance、BaseForm)
MaintenanceクラスでBaseFormクラスのインスタンスbaseFormInstanceを
作成して生成を単体テストしています。BaseFormクラスのコンストラクタで
GetAppInfomation()メソッドを呼んで、プライベート変数appVersion
に代入しています。テスト部分ではプライベートスタテックな
baseFormInstanceを呼ぶため、PrivateType等を使用しています。
Assert.AreEqual(expected_BaseFormInstance, actual);で真が
返りますが、これは実際に、値の比較になるでしょうか?
単体テストデバッガでappVersionを見たいのですが、見れません。
どうしてでしょうか?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Maintenance { public partial class Maintenance : Form { public Maintenance() { InitializeComponent(); } private static BaseForm baseFormInstance; public static BaseForm BaseFormInstance { get { return baseFormInstance; } set { baseFormInstance = value; } } } } using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Maintenance { public partial class BaseForm : Form { private string appVersion; public BaseForm() { InitializeComponent(); GetAppInfomation(); } private void GetAppInfomation() { //自分自身のバージョン情報を取得する //... //結果の格納 appVersion = "Version 1.0 "; } } } using Microsoft.VisualStudio.TestTools.UnitTesting; using Maintenance; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Maintenance.Tests { [TestClass()] public class MaintenanceTests { public static BaseForm expected_BaseFormInstance; { [TestMethod()] public void BaseFormInstanceTest() BaseForm actual; PrivateType pt = new PrivateType(typeof(Maintenance)); actual = pt.GetStaticProperty("BaseFormInstance") as BaseForm; Assert.AreEqual(expected_BaseFormInstance, actual); } } }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/01 04:38