最近在学单元测试,原程序中有以下代码
internal void ModifyEmployeeToListView()
{
ListViewItem listViewItem = listView3.SelectedItems[0];
...
}
用单元测试的方法测试ModifyEmployeeToListView,首先需要有一个ListView以及被选中的Items,我的做法如下
listView3.Columns.Clear();
listView3.Columns.Add("branchID", "部门", 80);
ListViewItem listViewItem = new ListViewItem();
listViewItem.Text = "总公司";
listViewItem.SubItems.Add("其他");
listView3.Items.Clear();
listViewItem.SubItems[1].Text = "新建部门";
listView3.Items.Add(listViewItem);
listView3.Items[0].Selected = true;//设置Items[0]为被选中状态,但listView3.SelectedItems.Count始终为0。若此处为 listViewItem.Selected = true;的话listView3.SelectedItems.Count也是0
Console.Write(listView3.SelectedItems.Count);//
ModifyEmployeeToListView(employeeInfo, branchIdDic);
请教各位,既然设置Items.selected = true不起作用,那么该如何设置才能在进入ModifyEmployeeToListView方法时listView3.SelectedItems[0]不为空?
internal void ModifyEmployeeToListView()
{
ListViewItem listViewItem = listView3.SelectedItems[0];
...
}
用单元测试的方法测试ModifyEmployeeToListView,首先需要有一个ListView以及被选中的Items,我的做法如下
listView3.Columns.Clear();
listView3.Columns.Add("branchID", "部门", 80);
ListViewItem listViewItem = new ListViewItem();
listViewItem.Text = "总公司";
listViewItem.SubItems.Add("其他");
listView3.Items.Clear();
listViewItem.SubItems[1].Text = "新建部门";
listView3.Items.Add(listViewItem);
listView3.Items[0].Selected = true;//设置Items[0]为被选中状态,但listView3.SelectedItems.Count始终为0。若此处为 listViewItem.Selected = true;的话listView3.SelectedItems.Count也是0
Console.Write(listView3.SelectedItems.Count);//
ModifyEmployeeToListView(employeeInfo, branchIdDic);
请教各位,既然设置Items.selected = true不起作用,那么该如何设置才能在进入ModifyEmployeeToListView方法时listView3.SelectedItems[0]不为空?
有了试下了,大同小异!
然后listView3.Items[0].Selected = true;语句就会生效
listView3.Select();
就够了,还有这个方法不要放在窗体加载事件里面,用一个按钮来模拟