【发布时间】:2010-11-01 01:25:29
【问题描述】:
我有许多 C# 集成测试使用由 cucumber 推广的 Given/When/Then 样式编写。我使用的框架与 NBehave 基本相同。
我面临的一个反复出现的问题是设置和连接集成测试所需的所有应用程序状态的问题。我的大多数测试看起来像这样:
给定一个空系统 和一个新的 NetworkServer 和一个新的 ServerDatabase 还有一个新的事件记录器 和一个新的网络连接 还有一个新的 LoggingClient 当客户端记录新事件时 然后它应该出现在服务器数据库中如您所见,动作和断言是单行的,但我有 6 行“连线”。几乎我的每个测试都重复了这 6 行。
这对我来说似乎是一种代码味道,但我不确定如何处理。我可以将 6 行重构为一行(Given "a valid system..." 或类似的),但这似乎太过分了,我会隐藏太多信息。
如果其他人在这方面有更多经验,我将不胜感激。非常感谢。
【问题讨论】:
标签: c# cucumber integration-testing nbehave