dev*_*ium 6 tdd unit-testing mstest testdriven.net visual-studio
我正在使用Visual Studio进行测试驱动开发的第一步.关于如何使用VS 2010实现泛型类,我有一些问题.
首先,假设我想实现我自己的ArrayList版本.我首先创建以下测试(我在这种情况下使用MSTest):
[TestMethod]
public void Add_10_Items_Remove_10_Items_Check_Size_Is_Zero() {
var myArrayList = new MyArrayList<int>();
for (int i = 0; i < 10; ++i) {
myArrayList.Add(i);
}
for (int i = 0; i < 10; ++i) {
myArrayList.RemoveAt(0); //should this mean RemoveAt(int) or RemoveAt(T)?
//VS doesn't know. Any work arounds?
}
int expected = 0;
int actual = myArrayList.Size;
Assert.AreEqual(expected, actual);
}
Run Code Online (Sandbox Code Playgroud)
我正在使用VS 2010的能力
ctrl +.
并让它在旅途中实现类/方法.
.Add(10)
方法时,VS不知道我是否打算使用泛型方法(因为该类是通用的)或Add(int number)
方法.有没有办法区分这个?MyStack
堆栈,我想测试是否在我推送元素并弹出它之后,堆栈仍然是空的.我们都知道pop应该返回一些东西,但通常,这个测试的代码不应该关心它.Visual Studio会认为pop是一种void方法,实际上并不是人们想要的.怎么处理这个?对于每种方法,我是否应该首先进行"非常具体"的测试,例如很明显该方法应该返回一些内容,这样我就不会产生这种模糊性?即使不使用结果,我应该有类似的东西int popValue = myStack.Pop()
吗?int
s,因为它们易于使用,但我是否也应该使用不同类型的对象进行测试?你通常如何处理这个问题?int val = MyClass.MyProperty
想要理解(至少还有)我只想定义一个吸气剂.谢谢
归档时间: |
|
查看次数: |
1531 次 |
最近记录: |