Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在Rspec/Cucumber中仅为一个模型使用开发数据库?_Ruby On Rails_Testing_Rspec_Tdd_Cucumber - Fatal编程技术网

Ruby on rails 如何在Rspec/Cucumber中仅为一个模型使用开发数据库?

Ruby on rails 如何在Rspec/Cucumber中仅为一个模型使用开发数据库?,ruby-on-rails,testing,rspec,tdd,cucumber,Ruby On Rails,Testing,Rspec,Tdd,Cucumber,我有一个字典应用程序,在开发数据库中有很多单词定义。当我编写Cucumber/Rspec测试时,我通常会在测试数据库中填充一些我知道将在测试中使用的单词。但是,如果我可以只访问一个模型(Word)的开发数据库来检查单词定义,并将测试数据库用于其他所有内容,那就太好了。这是一项即使不是不可能也很难完成的任务,原因之一是:你不应该这样做 测试必须独立于开发环境。如果通过持续集成工具运行测试(推荐使用),则测试环境每次都是从0生成的,不知道以前的状态 如果您需要一些记录以供测试运行,请使用必要的记录为

我有一个字典应用程序,在开发数据库中有很多单词定义。当我编写Cucumber/Rspec测试时,我通常会在测试数据库中填充一些我知道将在测试中使用的单词。但是,如果我可以只访问一个模型(Word)的开发数据库来检查单词定义,并将测试数据库用于其他所有内容,那就太好了。这是一项即使不是不可能也很难完成的任务,原因之一是:你不应该这样做

测试必须独立于开发环境。如果通过持续集成工具运行测试(推荐使用),则测试环境每次都是从0生成的,不知道以前的状态


如果您需要一些记录以供测试运行,请使用必要的记录为测试种子。这就是方法。

你;我更愿意为您的测试种子dbI了解独立的测试环境。Word模型由110349条记录组成,因此每次构建都非常耗时。我只是想知道这种设置是否可行。如果不是的话,我只会在测试中使用记录。你真的需要所有这些记录来单元测试你的模型吗?如果是这样的话,在你的测试中有一个解耦问题。从技术上来说,我不需要,但它会让事情变得更容易。例如,我有一个包含100多个字符的中文文本,我从中随机选择了几个字符来为用户进行测试。当我这样做时,我需要在字典(单词模型)中找到这些单词。我可以用我使用的文本的单词来填充测试数据库,但这似乎相当费劲。