1
5
在我最近的一个项目中,我们在单元测试方法中广泛使用了模拟对象。该项目是100% Java和中等大小(约100000行的非注释代码)。这是一个基于Swing的桌面应用程序——我们发现测试用户界面逻辑的唯一有效方法是通过MVC变体设计,允许我们使用模拟对象代替实际的Swing用户界面类来进行自动测试。我们还在数据访问层(hibernate/daos)的测试中广泛使用模拟。 在用户界面的使用中,mock的构建既简单又简单。而应用程序的设计(Fowler被动视图)则很容易融入到模拟中。这不是用于测试数据访问层的模拟的情况。但我可以说,这显然值得付出努力。事实上,大多数的“努力”实际上都集中在提出一个可重用的解决方案,它最小化了开发人员为创建每个单独的模拟所必须做的工作。我建议您花点时间深入研究并发现一种适合您的情况的方法,它允许您轻松地模拟地理信息系统数据层。或者只是手动模拟每个类。无论哪种方式,运行依赖模拟的自动化单元测试的能力都是值得的… |
2
2
在我的情况下模仿工作 真不错。 但是我使用的是python,它非常动态,使得很多涉及测试的事情变得非常简单。 在像你这样的情况下,当申请主要是 数据驱动 (据我所见),嘲笑可能没有那么有用。仅仅传入数据并观察它的输出就足以进行测试了。我只想确定申请是 足够模块化 因此,这种方法可以应用于相当小的组件。 |
3
1
模拟在某些项目中是有用的。但是,有时候嘲笑是非常耗时的,而且它的投资回报率很低。 |
5
1
在我的例子中,模仿被广泛使用。模拟通常用于具有外部依赖关系的类,例如网络、数据库、文件系统。如果不使用模拟,任何这些都可以在测试中引入薄片。 如果由于存在大量要填充的假数据而导致编写成本高昂的模拟,可以将一些预填充的数据对象设置为常量,并在测试中使用它们或稍微修改过的副本。如果这样的数据对象具有外部依赖性,那么可以通过某种方式重构它,从而分离这两个关注点。 |
6
1
DaveBouman发起了一项计划,试图建立一个用于ArcObjects相关单元测试的Mock社区库。他的博客和这个SVN存储库有很多关于单元测试GIS系统的信息。 http://blog.davebouwman.net/CategoryView,category,Unit%2BTesting.aspx http://svn2.assembla.com/svn/arcdeveloper/TestingUtilities/trunk/ |
Phil Gunning · 使用嵌套函数更改进行模拟测试 2 年前 |
Korr · 如何用Jest模拟组件测试中服务的功能 2 年前 |
Jordan Lee · 在另一个类中使用实例方法作为装饰器 6 年前 |
user2350138 · 为WireMock构建Java项目 6 年前 |
user8584384 · 单元测试不起作用,因为导入的文件作为输入 6 年前 |
Vino · 如何模拟Python类的对象? 6 年前 |
Enrico · .NET核心ASP。带有会话和测试的NET控制器 6 年前 |