.net - 测试公共(public) API 是否足以对 API 组件进行单元测试?

标签 .net unit-testing nunit

我的软件(应用程序)使用 httplistener 公开了一个 API(网络服务)。 从单元测试的角度来看是否足以通过网络请求来测试 API 功能?

我问这个是因为我读到最佳实践是只测试类的公共(public)方法。在这种情况下,我不是在测试某个类的公共(public)方法,而是在整个组件中测试公共(public) API 函数。

谢谢你的建议

最佳答案

那更像是一个集成测试。单元测试将直接测试类上的实际方法。如果您在 web 服务的 webmethods 中有代码,您应该将该代码拉出到一些服务类中,这将使它们更容易测试。 Web 方法永远不应该自己做任何事情,就像 MVC 中的 Controller 一样。

不过,您是对的,您应该只需要测试公共(public)方法。任何未被公共(public)方法直接或间接使用的私有(private)方法无论如何都应删除。

关于.net - 测试公共(public) API 是否足以对 API 组件进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1448479/

相关文章:

c# - 如果已启动的进程处于打开状态,应用程序退出后套接字不会关闭

c# - 运行代码片段并呈现结果的基本 VS 扩展(类似于 watch )

c# - NUnit - 如何动态运行测试子集

asp.net-mvc - NUnit框架生命周期执行顺序是什么?

c# - 有人可以解释在对象超出范围之前将其清零的意义是什么吗?

python - Django 测试错误 : relation does not exist

c# - 单元测试中的模拟在 LINQ.Where 返回 null

unit-testing - 如何在 Resharper 7 中支持 MBUnit 测试

c# - 如何将 NUnit 的 EqualTo().Within() 约束与自定义数据类型一起使用?

.net - .NET JIT 编译器是否为使用不同枚举参数化的泛型生成不同的代码?