[英]Should I be unit testing this class?
我知道这可能是一个非常基本的问题,但此刻我有些空白。 我应该对这堂课进行单元测试吗?
public class MapinfoWindowHandle : IWin32Window
{
IntPtr handle;
public MapinfoWindowHandle(IntPtr mapinfoHandle)
{
this.handle = mapinfoHandle;
}
#region IWin32Window Members
IntPtr IWin32Window.Handle
{
get { return this.handle; }
}
#endregion
}
如果我应该做我应该测试什么?
我这样使用它:
IntPtr handle = new IntPtr(100);
myform.show(new MapinfoWindowHandle(handle));
我唯一能看到的就是确保您摆脱了通过构造函数放入的句柄。 我知道您显然是通过这种方式实现的,但是通过测试可以确保您保持这种方式。 我只测试这是因为您是通过构造函数注入它的。 如果只是{get; 组; 我可能不会。
[TestMethod]
public void ConstructorTest()
{
IntPtr handle = new IntPtr(100);
MapinfoWindowHandle winHandle = new MapinfoWindowHandle(handle);
Assert.AreEqual( handle, ((IWin32Window)winHandle).Handle );
}
我肯定会尝试尝试使用NULL(0)或INVALID_HANDLE_VALUE(-1)构造它,并且如果合适的话,可能会将它同时放在两者中(尚不清楚是否可以使用IntPtr.Zero初始化该类,但是几乎可以肯定-1是无效的。
是。 如果一个班级值得写作,那值得测试
我的实用主义者说“不”,因为班级“什么也没有做”,因此没有“什么也没有要测试”。 但是请确保您仍然可以测试它,仅出于文档目的,并作为与将来开发人员的合同。
众所周知,GUI代码很难进行单元测试。 我从来没有发现它在我自己的应用程序中有用。 只需将您的业务逻辑放在GUI之外,即可轻松进行测试。 我通常使用手动或自动集成/验收测试来测试gui代码。 编写测试以验证“外观正确”是很困难的。
是的,编写测试。 如果以后有人更改了代码或向其中添加了一些新代码,则您至少要进行一次测试,以确保该类能够按预期运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.