使用存根服务进行测试



我创建了一个存根 Web 服务来帮助我的团队在不遍历整个堆栈的情况下实现和"集成"测试他们的代码,这在这种情况下是不可能的。

我想为他们创建一些不同的场景,例如成功,不同类型的失败。我想到处理这些场景的一种方法是,如果一个特定的输入是例如"Smith",那么返回一个对象,如果"Jones"返回另一个对象。

想知道这个场景映射是否太脆弱,但主要是我如何以一种很好的方式管理这些场景,允许开发人员扩展场景。一个想法是序列化他们期望的可能结果,并将其与参数一起存储在某种存储库中。这意味着可以添加和修改它们。序列化可能会中断,对于复杂对象来说,这将是尴尬的。

感觉我在这里真的错过了什么!

我真的很喜欢在开发过程中删除诸如Web服务之类的东西。 它允许开发人员针对可能尚未准备好但仍能完成工作的系统。 就像你说的,这也允许他们尽早融入,这很棒。 当实际服务准备就绪时,应该很容易将存根换成实际服务。

我认为创建一个模仿实际 Web 服务调用的简单/快速和肮脏的存储库是完全可以的。 一组参数进入,然后一些数据返回。

考虑花几个小时编写一个为你生成代码/数据结构的工具。 您可以编写生成随机数据(名称、地址等)的函数,然后更改参数并重新生成存根数据/存根代码相当容易。

内容存根是值得的,因为它将大大提高开发人员的工作效率。 我不会害怕花一两天的时间设置一些东西 - 它会在项目的生命周期内得到回报。

最新更新