【发布时间】:2014-06-28 20:19:16
【问题描述】:
我们的 C# 应用程序架构涉及 Web 服务、数据库和 Winforms 应用程序。 winforms 应用程序将调用 Web 服务中名为 ProcessFile 的方法。
我想使用验收测试驱动开发技术并编写了以下 Specflow 用户故事。
Story: Process file
As a knowledge worker
I want to process a file
so that it can go onto the next step.
Given query A is True
And File A exists
When I run Process with File A
Then A backup of the existing file exists
And a new processed file exists
And query B is true
And query C is true
我们的 Windows 应用程序将从 Web 服务调用整个 Process File 故事。
但是,为了进行 BDD,我们很想进行很多像 IsQueryBTrue 这样的小调用
这会导致令人不快的网络服务,我们不希望 IsQueryBTrue 出现在已发布的 API 中
我现在认为,测试项目直接调用数据服务,而只对 Web 服务进行一些较小的 FileExists 调用,这是一个较小的弊端。然而,这感觉不太正确,因为在测试中肯定应该在生产中运行相同的代码。
我怎样才能充分测试,同时避免做一个健谈的网络服务?
我现在想知道我们是否应该使用 web api 或 wcf 而不是 wsdl web 服务
【问题讨论】:
标签: web-services bdd specflow