草庐IT

mysql - 我的应用程序访问远程数据库。如何有效地运行单元测试?

我有一个配置,除了本地postgresql数据库外,我的Rails应用程序还访问远程AWS数据库。我的问题是,即使在不涉及远程数据库的测试中,应用程序每次都会建立与远程数据库的连接,因此我的测试运行缓慢。有没有一种干净的方法可以禁止不需要它的rspec测试访问远程数据库服务器?(并为那些确实需要它的测试启用它?)我能想到的最好的办法是将我的rspec测试分成两个独立的部分——不需要访问远程数据库的部分和需要访问远程数据库的部分——并使用环境变量来启用或禁用部分配置/数据库.yaml相应地。为了清楚起见,我的config/database.yaml文件包含(部分):#file:confi

mysql - azk - 如何设置测试数据库?

我在开发中使用了azk(它是一个RubyonRails项目),azk建立了一个名为#{manifest.dir}_development的MySQL数据库(使用manifest.dir是项目所在的目录名)。问题是当我尝试运行RSpec测试时,它将访问同一个开发数据库,​​而不是测试数据库。在过去的几个小时里,我和我的同事一直在苦苦思索如何设置测试数据库。我们如何做到这一点? 最佳答案 我来自azk核心团队,在这里我们通过简单地添加一对具有适当设置的额外系统+数据库来添加测试环境。当您对测试系统使用extends时,它会更容易:sys

html - capybara 选择选项不起作用

我已经尝试了很多方法来尝试和我的capybara测试从这个表格中选择一个选项。MIDIFighterClassicMIDIFighterProTraktorControlS2TraktorControlS4VCI-100Other...我试过了1)page.select"VCI-100",:from=>"mapping_midi_controller_id"2)选择"19",:from=>"mapping_midi_controller_id"有什么想法吗? 最佳答案 我认为第二个命令应该是:select"VCI-100",:fro

html - capybara 选择选项不起作用

我已经尝试了很多方法来尝试和我的capybara测试从这个表格中选择一个选项。MIDIFighterClassicMIDIFighterProTraktorControlS2TraktorControlS4VCI-100Other...我试过了1)page.select"VCI-100",:from=>"mapping_midi_controller_id"2)选择"19",:from=>"mapping_midi_controller_id"有什么想法吗? 最佳答案 我认为第二个命令应该是:select"VCI-100",:fro

html - Rails 3 和 rspec - 从选择列表中选择

我想从RSpec的选择列表中选择值。例如我有这样的数据:TeachernamesMathteacherPhysicsteacher我想通过RSpec选择选项Physicsteacher。我怎样才能做到这一点?另外,我可以按值从列表中选择一些东西吗(例如,按值“2”选择Physicsteacher)? 最佳答案 我找到了解决方案。您应该使用选择方法:select"Physicsteacher",:from=>"teacher_leader[teacher_id]" 关于html-Rails

html - Rails 3 和 rspec - 从选择列表中选择

我想从RSpec的选择列表中选择值。例如我有这样的数据:TeachernamesMathteacherPhysicsteacher我想通过RSpec选择选项Physicsteacher。我怎样才能做到这一点?另外,我可以按值从列表中选择一些东西吗(例如,按值“2”选择Physicsteacher)? 最佳答案 我找到了解决方案。您应该使用选择方法:select"Physicsteacher",:from=>"teacher_leader[teacher_id]" 关于html-Rails

activerecord - 如何使用 Active Record 在 Sinatra 中静音 SQLite3 记录器?

guard输出窗口填满D,[2012-11-19T18:36:30.391459#53057]DEBUG--:(0.1ms)begintransactionD,[2012-11-19T18:36:30.392668#53057]DEBUG--:SQL(0.4ms)INSERTINTO"foo"("created_at","id","foo","foo","updated_at","value")VALUES(?,?,?,?,?,?)[["created_at",2012-11-1918:36:30-0800],["id",4],["bar",2],["foo",12],["update

activerecord - 如何使用 Active Record 在 Sinatra 中静音 SQLite3 记录器?

guard输出窗口填满D,[2012-11-19T18:36:30.391459#53057]DEBUG--:(0.1ms)begintransactionD,[2012-11-19T18:36:30.392668#53057]DEBUG--:SQL(0.4ms)INSERTINTO"foo"("created_at","id","foo","foo","updated_at","value")VALUES(?,?,?,?,?,?)[["created_at",2012-11-1918:36:30-0800],["id",4],["bar",2],["foo",12],["update

ruby-on-rails - 为什么我的 ruby​​ 在测试期间崩溃/段错误?

我在某些地方读到它可能与sqlite3有关,但我的谷歌搜索没有任何帮助。这是错误的示例:https://travis-ci.org/NullVoxPopuli/aeonvera/jobs/61047991这似乎是随机发生的——无论是在我的机器上还是在travis上。所以我最终不得不重新运行rspec直到它通过——这很烦人,因为我的测试套件需要几分钟才能运行。这是怎么造成的?我该如何预防?必须积极参与您的CI以重新运行规范直到它通过,这有点愚蠢。我正在使用sqlite3在内存中运行我的所有规范-这是一个很好的速度奖励,并且还帮助我确保我没有执行任何特定于数据库的查询(我的生产应用程序使用

ruby-on-rails - 为什么我的 ruby​​ 在测试期间崩溃/段错误?

我在某些地方读到它可能与sqlite3有关,但我的谷歌搜索没有任何帮助。这是错误的示例:https://travis-ci.org/NullVoxPopuli/aeonvera/jobs/61047991这似乎是随机发生的——无论是在我的机器上还是在travis上。所以我最终不得不重新运行rspec直到它通过——这很烦人,因为我的测试套件需要几分钟才能运行。这是怎么造成的?我该如何预防?必须积极参与您的CI以重新运行规范直到它通过,这有点愚蠢。我正在使用sqlite3在内存中运行我的所有规范-这是一个很好的速度奖励,并且还帮助我确保我没有执行任何特定于数据库的查询(我的生产应用程序使用