Tag: minitest

如何生成一个报告,向我展示Rails 3.2,Ruby 1.9中最慢的运行测试?

我知道RSpec有–profile选项,但我只是将MiniTest / shoulda用于我当前的项目。

使用Minitest测试控制器

我正在尝试使用Minitest找到测试控制器的示例,但我只发现了一对,只是validation了呈现的模板以及返回的“成功”。 这对我来说似乎没什么帮助。 Minitest用于测试控制器吗? Railscast( http://railscasts.com/episodes/327-minitest-with-rails )以及我发现的其他几篇文章似乎都在使用Minitest进行模型测试,并与Capybara进行集成测试。 控制器测试怎么样? 他们可以用Minitest测试吗? 如果是这样,是否有任何实际测试操作的真实示例? 在经过几个小时的搜索之后,我找不到任何东西似乎很奇怪。 我知道这很模糊,但是我想决定是否应该使用RSpec或Minitest,但是如果不知道如何使用Minitest真正测试控制器,我不知道它是如何真正的选择,但我继续阅读一些关于它的一般好评如潮。

使用MiniTest测试用户模型(设计认证)

我正在尝试测试用户模型,为此我设计了身份validation。 我面临的问题是,1。在fixtures中输入’password’/’password_confirmation’字段会给我无效的列’password’/’password_confirmation’错误。 如果我从fixture中删除这些列并添加user_test.rb require ‘test_helper’ class UserTest < ActiveSupport::TestCase def setup @user = User.new(name: "example user", email: "example@example.com", password: "Test123", work_number: '1234567890', cell_number: '1234567890') end test "should be valid" do assert @user.valid? end test "name should be present" do @user.name = "Example Name " assert @user.valid? end end 我得到的错误是: test_0001_should be valid FAIL (0.74s) Minitest::Assertion: […]

这个MiniTest :: Unit :: TestCase警告是什么意思?

我的测试运行没有问题,突然出现以下警告: MiniTest::Unit::TestCase is now Minitest::Test 这在以下库中报告: ruby-1.9.3-p392/lib/ruby/1.9.1/test/unit/testcase.rb:8:in `’ gems/activesupport-3.2.12/lib/active_support/test_case.rb:12:in `’ gems/activesupport-3.2.12/lib/active_support/descendants_tracker.rb:34:in `inherited’ 我不知道是什么促使出现这些警告。 有人知道我能做些什么来消除警告吗? 即使有警告,测试仍然可以正常运行。 我的Rails环境是3.2.12,在OSX 10.8.4上运行。 谢谢!

在Rails中,为什么我的邮件主体只在我的测试中空了?

我有一个actionmailer类和相关的开销,它完美地工作。 但是,在我的unit testing(rails default minitest)中,电子邮件正文是空的。 这是为什么? 我的邮件课: class TermsMailer < ApplicationMailer default from: "info@domain.com" def notice_email(user,filename) @user = user @file = filename mail(to: "info@domain.com", subject: 'Data downloaded') end end 我的测试: require ‘test_helper’ class TermsMailerTest < ActionMailer::TestCase test "notice" do email = TermsMailer.notice_email(users(:me),'file.ext').deliver_now assert_not ActionMailer::Base.deliveries.empty? assert_equal ['info@domain.com'], email.from assert_equal ['info@domain.com'], email.to assert_equal 'Data downloaded', email.subject assert_equal […]

Rails和MiniTest:添加其他文件夹

我使用Ruby 2和Rails 4.我有一个文件夹test/lib ,其中有一些测试。 但是运行rake test不会使用它们。 只有其他测试(型号,控制器……)正在运行。 我在哪里添加lib文件夹? 我已经尝试过MiniTest::Rails::Testing.default_tasks << 'lib' ,但我得到NameError Exception: uninitialized constant MiniTest::Rails 。 我没有将minitest gem添加到我的Gemfile中,因为Ruby 2默认使用它。

在Rails测试(MiniTest)中分配方法的目的是什么?

用于自动生成的测试: test “should create item” do login_user assert_difference(‘Item.count’) do post :create, item: { creator: @item.creator, title: @item.title, user_id: @item.user_id, text: ‘Hello, world!’ } end assert_redirected_to(assigns(:item)) end Rails 文档没有任何描述。 这种方法的目的是什么以及如何使用它?

如何将gem’minitest’添加到我的测试帮助器中?

我是Ruby on Rails和测试的新手。 当我运行rake test我收到以下错误: /Users/jarvis/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/rack-1.3.4/lib/rack/backports /uri/common_192.rb:53: warning: already initialized constant WFKV_ /Users/jarvis/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/turn-0.8.3/lib/turn/autorun /minitest.rb:14:in `’: MiniTest v1.6.0 is out of date. (RuntimeError) `gem install minitest` and add `gem ‘minitest’ to you test helper. from /Users/jarvis/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/activesupport-3.1.1/lib /active_support/dependencies.rb:240:in `require’ 我做了gem install minitest ,现在它说要将gem’minitest’添加到我的测试帮助器中。 这是test/test_helper.rb ,如果是这样,我如何“添加”minitest?

Rails minitest,数据库更清洁如何转为use_transactional_fixtures = false

我想在ministest中禁用use_transactional_fixtures = false来捕获after_commit回调。 我应该在什么地方和哪里设置?

如何使用Rails和minitest模拟OmniAuth哈希?

我正在使用Rails 5和minitest。 我想模拟登录我的会话控制器,它依赖于omniauth(我使用谷歌和FB登录)。 我在我的控制器test,test / controllers / rates_controller_test.rb中有这个, class RatesControllerTest < ActionDispatch::IntegrationTest # Login the user def setup logged_in_user = users(:one) login_with_user(logged_in_user) end 然后我尝试在我的测试助手test / test_helper.rb中设置登录, class ActiveSupport::TestCase # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order. fixtures :all def setup_omniauth_mock(user) OmniAuth.config.test_mode = true omniauth_hash = { ‘provider’ => ‘google’, ‘uid’ => […]