我的Python版本是2.6.
我想只执行一次测试setUp方法,因为我在那里做所有测试都需要的东西.
我的想法是创建一个布尔变量,在第一次执行后将设置为'true',然后禁用多次调用setup方法.
class mySelTest(unittest.TestCase):
setup_done = False
def setUp(self):
print str(self.setup_done)
if self.setup_done:
return
self.setup_done = True
print str(self.setup_done)
Run Code Online (Sandbox Code Playgroud)
输出:
False
True
--- Test 1 ---
False
True
--- Test 2 ---
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?我错过了什么吗?
比方说,我们有一个List
List<int> lst = new List<int>();
lst.Add(20);
lst.Add(10);
lst.Add(30);
lst.Add(10);
lst.Add(90);
Run Code Online (Sandbox Code Playgroud)
如果我需要得到第一个元素的索引,我将使用20
FindIndex()
Run Code Online (Sandbox Code Playgroud)
但是有一种方法可以用于多种结果吗?假设我想拥有数字10的元素索引.
我知道有一个方法FindAll(),但这给了我一个新的List insted索引.
最好的(?)方法是获取索引数组.
我的表单中有两个listbox元素.listbox1中的项表示DataGridView中的列,listbox2中的项表示DataGridView中的行.
foreach (var el in listBox1Elements)
{
// code...
dataGridView1.Columns.Add(col);
}
Run Code Online (Sandbox Code Playgroud)
由于可以添加或删除listbox1中的项目,因此我的当前解决方案存在问题.
dataGridView1.Rows.Add("test","some","data","even","more","data");
Run Code Online (Sandbox Code Playgroud)
我想知道是否有使用List的解决方案.然后我的代码看起来像这样:
foreach (var el in listBox2Elements)
{
myList.add("some text");
}
dataGridView1.Rows.Add(myList);
Run Code Online (Sandbox Code Playgroud) 我想在List中存储对象,因此创建了一个具有3个属性的类; PROP1.prop2和prop3.
要将新项目添加到我正在使用的列表中,例如
_st.Add(new Bld(100,20,"Test1");
_st.Add(new Bld(101,20,"Test2");
_st.Add(new Bld(102,54,"Test3");
Run Code Online (Sandbox Code Playgroud)
现在:如何搜索列表以获取包含的项的索引myObj.prop2 = 20 AND myObj.prop3="Test1"?
我尝试过类似的东西
_st.Where(tk => tk.prop1 == 1000 AND tk.Title == "Test1");
Run Code Online (Sandbox Code Playgroud)
但这显然不起作用.
知道如何解决这个问题吗?
提前致谢