【gem】database_cleaner 为你的测试数据做清理

在跑测试程式的时候,不免会遇到资料残留导致数据计算错误的情况,也就是程式码其实是正确的,只是因为之前跑了其他测试,在测试的资料库已经留有一些资料,导致最后统计的时候出了问题,跑不过测试。这时使用 database_cleaner 这个gem可以协助解决这个状况。

那么我们便开始吧~

STEP 1 首先先将这个 gem 加入 Gemfile

group :development, :test do  gem 'database_cleaner', '~> 2.0', '>= 2.0.1'end

STEP 2 检视文件,搜寻 RSpec

http://img2.58codes.com/2024/20147393Fp5DdEq4AH.png

STEP 3 複製以下片段至 /spec/rails_helper.rb

config.before(:suite) do  DatabaseCleaner.strategy = :transaction  DatabaseCleaner.clean_with(:truncation)endconfig.around(:each) do |example|  DatabaseCleaner.cleaning do    example.run  endend

http://img2.58codes.com/2024/20147393lfEex3aHI4.png

STEP 4 修改程式码

如果执行测试码还是无法通过,将 :suit 改成 :each , 确保先前的数据每一笔都确实清除
http://img2.58codes.com/2024/20147393L5nVXHncQe.png

参考资料:https://github.com/DatabaseCleaner/database_cleaner/


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章