首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我应该如何实现这个specflow步骤?

我应该如何实现这个specflow步骤?
EN

Stack Overflow用户
提问于 2010-07-23 12:43:41
回答 2查看 842关注 0票数 3

好的,我决定从头到尾处理整个TDD过程。

我正在用ASP.NET MVC 2应用程序编写一个简单的博客,并开始进行验收测试,以便在实现它们时测试自己的功能。我使用SpecFlow作为我的BDD/ATDD框架。

我一直在读"基于测试的面向对象的成长系统“,这也是我开始学习的原因。

我将在书中被描述为迭代零,在这里我正在创建“行走骨架”

我决定从登录过程开始,作为“测试系统所有组件的最薄的功能片段”。在这种情况下,网站本身和数据库。

所以我写了一个详细的登录故事,我正在写的第一个场景就是成功登录。

在上述情况下,其中一个好处是

代码语言:javascript
运行
复制
"Given there is a registered user with the username 'TestUser' and password 'TestPassword'"

但是,我不确定如何实现这一步骤。

显然,这意味着数据库中需要有具有给定凭据的用户。但是,就像一个好的小程序员一样,我希望密码能在某种程度上被散列。

我想写一些类似的DatabaseHelper类,可以为我插入它。但是,这将包含哈希代码来散列密码,然后应用程序本身将需要相同的哈希代码,这似乎违反了DRY。

所以这里确实有几个相关的问题:

  • 我挣扎于这一步的事实是否意味着我应该从别的地方开始呢?即使登录系统对站点的其他部分相当重要?也许这并不是测试网站和数据库的最薄的功能片段?
  • 如果你从和我一样的地方开始,你会怎么做?你还不担心干燥吗?由于验收测试是通过浏览器从外部测试功能的,也许我做不到什么?

如果这个问题看上去有点模糊,我不得不道歉,我没有人从这边学习TDD,而这是我还没有经历过“啊-哈”这个时刻的范式转变之一。

提前谢谢。

EN

Stack Overflow用户

回答已采纳

发布于 2010-07-23 21:24:00

如果您正在做BDD,我可以建议不要从测试所有组件的最薄的切片开始,而是从测试风险最大的组件的最薄的切片开始吗?

假设任何有权访问系统的用户都已登录。登录并不是很危险。以前做过15,000次。

先对数据进行硬编码。从数据库中获取数据也不太危险。如果可以获得一些实际的数据示例,则可以在不影响场景的情况下稍后编写此代码。

找出你最不了解的系统中的哪些部分。创建场景并围绕系统的各个部分进行对话。你不需要从一开始就发展这个系统--你可以选择你喜欢的任何一点!系统中哪些部分让你最不舒服?哪些部分最让你的利益相关者感到不舒服?

这些可能是导致项目成功或失败的部分。登录可以在稍后进行,当您开始对其进行编码时,您将有一些人们希望登录的实际价值。

票数 3
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3318223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档