表題の件で質問させてください
現在単体テストの学習を行っているのですが
テスト対象の引数なしのメソッド内にメンバ変数を使用している場合にテストメソッドからどう渡せばよいでしょうか?
初歩的な質問で申し訳ありませんがアドバイスよろしくお願いいたします
テストメソッド
C#
1 [TestClass()] 2 public class comboboxdataTests 3 { 4 comboboxdata _comboboxdata = new comboboxdata(); 5 6 [TestMethod()] 7 public void combodataGetTest() 8 { 9 //関数は呼び出せるがメンバ変数が渡せない 10 _comboboxdata.combodataGet(); 11 12 13 } 14 }
C#
1public class comboboxdata 2 { 3 4 5 public DataTable Combotb { get; set; } 6 public Dictionary<string, int> Dic3 { get; set; } 7 8 9 NpgsqlCommand command; 10 Dictionary<string, int> dic3 = new Dictionary<string, int>(); 11 12 13 public void combodataGet() 14 { 15 var connString = "Server=test;Port=5432;User Id=test;Password=test;Database=test;"; 16 using (var conn = new NpgsqlConnection(connString)) 17 { 18 conn.Open(); 19 20 //列データ取得SQL 21 command = new NpgsqlCommand("select line_name,line_num from kado_sys.line_mstr ", conn); 22 23 //変数commandのSQLの内容をExecuteReader()で読み取り変数dataReaderに代入 24 var dataReader = command.ExecuteReader(); 25 26 DataTable combotb = new DataTable(); 27 28 combotb.Columns.Add("line_name"); 29 30 //DataTableのインスタンスにsublinerow1という行を定義 31 var sublinerow1 = combotb.NewRow(); 32 33 //tbのname列のrow1(name)行のセルに全サブラインを定義 34 sublinerow1["line_name"] = "全サブライン"; 35 36 //tbのname列のrow1(name)行のセルに全サブラインを挿入 37 combotb.Rows.Add(sublinerow1); 38 39 while (dataReader.Read()) 40 { 41 //DataTableのインスタンスにsublinerow2という行を定義(1:0) 42 var sublinerow2 = combotb.NewRow(); 43 { 44 //dic3:ST名をキーに指定([0]はST名,[1]はST番号)、ST番号をバリューに指定 45 dic3[dataReader[0].ToString()] = Convert.ToInt32(dataReader[1]); 46 47 //dic3[dataReader[0].ToString()] = combotb.Rows.Count; 48 sublinerow2["line_name"] = dataReader["line_name"]; 49 // dataReader["line_name"]はDBからとってくるデータの為名前は欲しい列と一致させる 50 } 51 combotb.Rows.Add(sublinerow2); 52 } 53 54 dic3["全サブライン"] = -10; 55 Combotb = combotb; 56 Dic3 = dic3; 57 58 59 } 60 } 61 } 62}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。