0

我正在使用 ASP.Net WebAPI 开发类似于服务外观的东西。目标是在后端系统和移动应用程序之间创建一个 RESTful 中间层。

这些服务操作中的代码不包含任何从数据库访问数据的逻辑。即 EF 框架、Linq to SQL 等。而是通过调用后端系统提供的另一组远程服务来选择和更新数据。

我需要为每个服务操作实施某种单元测试。我在线访问的几乎所有 WebAPI 单元测试教程都包含通过实体框架进行的数据访问,并且存储库类只包装了一个 EF 实体。

因此在我的情况下

  1. 如上所述,当服务操作内部没有数据访问逻辑时,进行单元测试是否有意义?
  2. 如果是这样,存储库模式是要走的路吗?如果可能,请链接一个示例,该示例针对通过远程服务调用访问数据的 MVC 项目进行测试。

  3. 我是否将集成测试与单元测试混淆了?

  4. 如果是这样,我应该只进行集成测试而忘记单元测试。

提前致谢。

4

1 回答 1

0
  1. 是的,您仍然需要测试您的层,这就是存储库模式可以帮助您的地方。事实上,您的服务层本身似乎就像一个存储库。但是您的服务将使用它自己的存储库,该存储库将抽象远程服务器。

  2. 我不会链接到示例,您可以搜索它,但事情非常简单。不管它是 mvc、mobile 还是其他什么的。存储库充当任何与存储相关的外观,在您的情况下是远程后端。它将包含调用远程服务的代码,但应用程序的其余部分将使用抽象,即存储库接口。

3,4。IMO不管你怎么称呼它们,只要你有相关的测试

您只需定义一个或多个存储库接口,并在您的 API 中使用这些接口。使用 Mocks 或假存储库测试 API。这些是单元测试。

之后,编写将处理远程服务的实际存储库实现。

于 2012-11-01T11:49:04.377 回答