【问题标题】:pre-conditions and database interaction前置条件和数据库交互
【发布时间】:2011-06-24 06:18:57
【问题描述】:

让我问你一些事情,如果有这样的场景:

Scenario: Listing the questions for a user that has answered questions 
        Given I am a logged user called "vintem" 
         And I have the following projects 
                | Project   | 
                | Project 1 | 
                | Project 2 | 
        When I visit the projects page 
        Then I should see 
        | Project   | 
        | Project 1 | 
        | Project 2 | 

在这种情况下,您通常会做什么来创建项目 必须在项目页面中看到?假设我正在使用存储库 模式会调用存储库本身来创建项目吗? 或者使用 Watin 模拟项目的创建? 在直接调用存储库的情况下,我的连接到 数据库必须与 Web 项目中的数据库相同,对吗?一世 在这种情况下,不能有一个测试数据库和一个开发数据库。 谢谢

【问题讨论】:

  • 这是为了单元测试的目的吗?
  • 我正在尝试将其用作 BDD 样式。因此,我希望这是一个验收测试

标签: asp.net-mvc specflow


【解决方案1】:

您的 Given 可以设置上下文。它必须使用与 When 或 then 相同的结构。如果您希望使用直接 SQL 将项目插入数据库,则可以,没关系。我不会做的是用户 Watin 来设置项目。这将使您的测试更加脆弱,因为对 UI 的更改会影响您的测试。它们也会运行得更慢

您说您正在使用存储库模式。如前所述,我会将其与 sqllite 一起用于后端。

【讨论】:

  • 谢谢,这就是我现在正在做的事情。
猜你喜欢
  • 1970-01-01
  • 2020-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-26
  • 1970-01-01
  • 1970-01-01
  • 2010-10-20
相关资源
最近更新 更多