Ruby on rails 如何在Rspec/Cucumber中仅为一个模型使用开发数据库?
我有一个字典应用程序,在开发数据库中有很多单词定义。当我编写Cucumber/Rspec测试时,我通常会在测试数据库中填充一些我知道将在测试中使用的单词。但是,如果我可以只访问一个模型(Word)的开发数据库来检查单词定义,并将测试数据库用于其他所有内容,那就太好了。这是一项即使不是不可能也很难完成的任务,原因之一是:你不应该这样做 测试必须独立于开发环境。如果通过持续集成工具运行测试(推荐使用),则测试环境每次都是从0生成的,不知道以前的状态Ruby on rails 如何在Rspec/Cucumber中仅为一个模型使用开发数据库?,ruby-on-rails,testing,rspec,tdd,cucumber,Ruby On Rails,Testing,Rspec,Tdd,Cucumber,我有一个字典应用程序,在开发数据库中有很多单词定义。当我编写Cucumber/Rspec测试时,我通常会在测试数据库中填充一些我知道将在测试中使用的单词。但是,如果我可以只访问一个模型(Word)的开发数据库来检查单词定义,并将测试数据库用于其他所有内容,那就太好了。这是一项即使不是不可能也很难完成的任务,原因之一是:你不应该这样做 测试必须独立于开发环境。如果通过持续集成工具运行测试(推荐使用),则测试环境每次都是从0生成的,不知道以前的状态 如果您需要一些记录以供测试运行,请使用必要的记录为
如果您需要一些记录以供测试运行,请使用必要的记录为测试种子。这就是方法。你;我更愿意为您的测试种子dbI了解独立的测试环境。Word模型由110349条记录组成,因此每次构建都非常耗时。我只是想知道这种设置是否可行。如果不是的话,我只会在测试中使用记录。你真的需要所有这些记录来单元测试你的模型吗?如果是这样的话,在你的测试中有一个解耦问题。从技术上来说,我不需要,但它会让事情变得更容易。例如,我有一个包含100多个字符的中文文本,我从中随机选择了几个字符来为用户进行测试。当我这样做时,我需要在字典(单词模型)中找到这些单词。我可以用我使用的文本的单词来填充测试数据库,但这似乎相当费劲。