代码之家  ›  专栏  ›  技术社区  ›  ParoX

接口的通用单元测试

  •  -3
  • ParoX  · 技术社区  · 6 年前

    是否有一组单元测试来验证我的接口实现是否正确?具体来说,我使用的是 ISet<T>

    似乎所有的接口都可以编写一些通用的单元测试。

    2 回复  |  直到 6 年前
        1
  •  0
  •   Barr J    6 年前

    有一个关于这件事的有用的帖子 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");
    }
    

    这是模拟服务连接和访问的通用方法,但也可以轻松地应用于接口。

    然而 .

    1. 很快就会不清楚您在每个接口中测试什么

    2. fail masking. .

    检查一下这个解决方案,稍微了解一下它的优点和缺点,并阅读类似的文章。