是否有一组单元测试可以验证我的接口实现是否正确?具体来说,我正在使用ISet<T>
的实现,并希望基本上将其插入单元测试,以验证我的实现是否正确。 (而不是我提出5-20单元测试以获得良好的覆盖率)
似乎所有接口都可以为它们编写一些通用的单元测试。
在Software Engineering中有关于此事的有用帖子,代码看起来像这样:
private void Test<TService,TFilter>(string urlSuffix)
where TService : SoapHttpClientProtocol, new()
where TFilter : new()
{
string serviceUrl = Helper.GetBaseUrl() + urlSuffix;
TService service = new TService();
service.Credentials = Helper.GetCredentials();
service.Url = serviceUrl;
TFilter[] filter = { new TFilter() };
service.ReadMultiple(filter, null, 0);
}
[TestMethod]
public void PlaceOfWork()
{
Test<PlaceOfWork_Service,PlaceOfWork_Filter>("PlaceOfWork");
}
这是模拟服务连接和访问的通用方法,但它也可以轻松应用于接口。
但是,如果您在单元测试中使用泛型,则会丢失粒度,这是因为您的测试将涵盖多个案例。
检查这个解决方案,稍微抽搐一下,以了解它的所有优点和缺点,并阅读类似的帖子。