1

我们在应用程序中使用 n 层架构。假设我们使用 3 层应用程序并使用 MVC 模式作为表示层,应该测试哪个层?如何在我的应用程序中找到可测试性点?

  1. 表示层?
  2. 业务层
  3. 数据层
  4. 他们都是?
4

2 回答 2

1

只测试你想确保工作的层。以上所有 3 项似乎都是重要的工作。你不想删除它们中的任何一个。

试图在现有软件中找到未设计用于的可测试性点可能是一个挑战。有一本好书,有效地使用遗留代码,其中遗留被定义为没有测试的代码,它谈到了这个问题。基本上,如果您不为可测试性而设计,则很难将其硬塞进去,您可能需要重构。

诀窍是将测试基础设施添加到代码中:模拟、存根和其他测试组件,以允许您仅隔离被测位。这在您测试数据库时很有帮助,您真的不想运行真正的查询,这将花费太长时间并且您希望测试快速。依赖注入对于更静态的语言很有帮助,比如 C++/C 和 Java。

于 2013-04-05T12:47:57.640 回答
0

在单元测试的上下文中,什么是“单元”?它是你识别为一个单元的任何东西,是你代码中最小的可测试部分。

如今,大多数人选择类或方法作为他们的单位。如果你这样做,你的所有层都将包含你可以单元测试的单元,所以你的问题的答案是测试所有这些。

于 2013-04-05T12:53:41.137 回答