A Big Look at MiniTest
-
Upload
mark -
Category
Technology
-
view
2.223 -
download
4
description
Transcript of A Big Look at MiniTest
![Page 1: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/1.jpg)
@markbates
Tuesday, September 10, 13
![Page 2: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/2.jpg)
A
Tuesday, September 10, 13
![Page 3: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/3.jpg)
BIGTuesday, September 10, 13
![Page 4: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/4.jpg)
look at
Tuesday, September 10, 13
![Page 5: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/5.jpg)
MiniTest
Tuesday, September 10, 13
![Page 6: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/6.jpg)
Tuesday, September 10, 13
![Page 7: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/7.jpg)
Tuesday, September 10, 13
![Page 8: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/8.jpg)
# Running tests: ........................................... Finished tests in 1.851323s, 1.6014 tests/s, 6.7781 assertions/s. 43 tests, 182 assertions, 0 failures, 0 errors, 0 skips
Tuesday, September 10, 13
![Page 9: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/9.jpg)
Step 1: Setup Testing Framework
Tuesday, September 10, 13
![Page 10: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/10.jpg)
Tuesday, September 10, 13
![Page 11: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/11.jpg)
Tuesday, September 10, 13
![Page 12: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/12.jpg)
Tuesday, September 10, 13
![Page 13: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/13.jpg)
Tuesday, September 10, 13
![Page 14: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/14.jpg)
• RSpec
• MiniTest
• test-unit
• Bacon
• Riot
• Wrong
• Shindo
• testrocket
• rubydoctest
• Testy
• Micronaut
• Kintama
• dtf
• assert
• test_inline
• Lemon
• Detest
Tuesday, September 10, 13
![Page 15: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/15.jpg)
MiniTest
Tuesday, September 10, 13
![Page 16: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/16.jpg)
Good Things Come in Small Packages
Tuesday, September 10, 13
![Page 17: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/17.jpg)
Tuesday, September 10, 13
![Page 18: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/18.jpg)
Tuesday, September 10, 13
![Page 19: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/19.jpg)
Tuesday, September 10, 13
![Page 20: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/20.jpg)
Tuesday, September 10, 13
![Page 21: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/21.jpg)
require 'minitest/autorun' class Foo def add(x, y) x + y endend describe Foo do describe '#add' do it 'adds two numbers' do Foo.new.add(4, 2).must_equal 6 end endend
Tuesday, September 10, 13
![Page 22: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/22.jpg)
require 'minitest/autorun' class Foo def add(x, y) x + y endend class TestFoo < MiniTest::Unit::TestCase def test_add assert_equal 6, Foo.new.add(4, 2) endend
Tuesday, September 10, 13
![Page 23: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/23.jpg)
Tuesday, September 10, 13
![Page 24: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/24.jpg)
IT SHIPS WITH RUBY!!!
Tuesday, September 10, 13
![Page 25: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/25.jpg)
>= 1.9
Tuesday, September 10, 13
![Page 26: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/26.jpg)
also available as a gem
Tuesday, September 10, 13
![Page 27: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/27.jpg)
Familiar Syntax to RSpec or Test::Unit
Tuesday, September 10, 13
![Page 28: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/28.jpg)
MiniTest replaced Test::Unit in 1.9
Tuesday, September 10, 13
![Page 29: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/29.jpg)
The Basics
Tuesday, September 10, 13
![Page 30: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/30.jpg)
MiniTest::Spec
Tuesday, September 10, 13
![Page 31: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/31.jpg)
describe Something do it "does something" do # tests go here end end
Tuesday, September 10, 13
![Page 32: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/32.jpg)
describe Something do before do # setup code goes here end after do # tear down code goes here end it "does something" do # tests go here end end
Tuesday, September 10, 13
![Page 33: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/33.jpg)
describe Something do describe 'something else' do it "does something" do # tests go here end end end
Tuesday, September 10, 13
![Page 34: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/34.jpg)
describe Something do let(:something) { Something.new(name: 'Widget') } describe 'something else' do it "does something" do something.name.must_equal 'Widget' end end end
Tuesday, September 10, 13
![Page 35: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/35.jpg)
describe Something do subject { Something.new(name: 'Widget') } describe 'something else' do it "does something" do subject.name.must_equal 'Widget' end end end
Tuesday, September 10, 13
![Page 36: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/36.jpg)
describe Something do subject { Something.new(name: 'Widget') } context 'something else' do it "does something" do subject.name.must_equal 'Widget' end end end
Tuesday, September 10, 13
![Page 37: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/37.jpg)
scrap.rb:19:in `block in <main>': undefined method `context' for #<Class:0x007fce92074b40> (NoMethodError) from /Users/markbates/.../lib/minitest/spec.rb:71:in `class_eval' from /Users/markbates/.../lib/minitest/spec.rb:71:in `describe' from scrap.rb:15:in `<main>'
Tuesday, September 10, 13
![Page 38: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/38.jpg)
class MiniTest::Spec class << self alias :context :describe end end
Tuesday, September 10, 13
![Page 39: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/39.jpg)
Pending
Tuesday, September 10, 13
![Page 40: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/40.jpg)
describe Something do it 'does something' it 'does something else' do skip end it 'does another thing' do skip "here's some reason why" end end
Tuesday, September 10, 13
![Page 41: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/41.jpg)
# Running tests: SSS Finished tests in 0.000912s, 3289.4737 tests/s, 0.0000 assertions/s. 3 tests, 0 assertions, 0 failures, 0 errors, 3 skips
Tuesday, September 10, 13
![Page 42: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/42.jpg)
Expectations
Tuesday, September 10, 13
![Page 43: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/43.jpg)
• must_be
• must_be_close_to
• must_be_empty
• must_be_instance_of
• must_be_kind_of
• must_be_nil
• must_be_same_as
• must_be_silent
• must_be_within_epsilon
• must_equal
• must_include
• must_match
• must_output
• must_respond_to
• must_raise
• must_send
• must_throw
Tuesday, September 10, 13
![Page 44: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/44.jpg)
• wont_be
• wont_be_close_to
• wont_be_empty
• wont_be_instance_of
• wont_be_kind_of
• wont_be_nil
• wont_be_same_as
• wont_be_silent
• wont_be_within_epsilon
• wont_equal
• wont_include
• wont_match
• wont_output
• wont_respond_to
• wont_raise
• wont_send
• wont_throw
Tuesday, September 10, 13
![Page 45: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/45.jpg)
describe Something do it "does something" do lambda {nil / 2}.must_raise NoMethodError ["one", "two"].must_include "one" ["one", "two"].wont_include "three" nil.must_be_nil [].must_be :empty? end end
Tuesday, September 10, 13
![Page 46: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/46.jpg)
MiniTest::Unit
Tuesday, September 10, 13
![Page 47: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/47.jpg)
class TestSomething < MiniTest::Unit::TestCase def test_something #tests go here end end
Tuesday, September 10, 13
![Page 48: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/48.jpg)
class TestSomething < MiniTest::Unit::TestCase def setup # setup code goes here end def teardown # tear down code goes here end def test_something # tests go here end end
Tuesday, September 10, 13
![Page 49: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/49.jpg)
class TestSomething < MiniTest::Unit::TestCase def test_something assert true end class TestSomethingElse < MiniTest::Unit::TestCase def test_something_else assert true end end end
Tuesday, September 10, 13
![Page 50: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/50.jpg)
No let
Tuesday, September 10, 13
![Page 51: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/51.jpg)
No subject
Tuesday, September 10, 13
![Page 52: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/52.jpg)
Pending
Tuesday, September 10, 13
![Page 53: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/53.jpg)
class SomethingTest < MiniTest::Unit::TestCase def test_something skip end def test_something_else skip "here's some reason why" end end
Tuesday, September 10, 13
![Page 54: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/54.jpg)
# Running tests: SS Finished tests in 0.000663s, 3016.5913 tests/s, 0.0000 assertions/s. 2 tests, 0 assertions, 0 failures, 0 errors, 2 skips
Tuesday, September 10, 13
![Page 55: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/55.jpg)
Assertions
Tuesday, September 10, 13
![Page 56: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/56.jpg)
• assert
• assert_block
• assert_empty
• assert_equal
• assert_in_delta
• assert_in_epsilon
• assert_includes
• assert_instance_of
• assert_kind_of
• assert_match
• assert_nil
• assert_operator
• assert_output
• assert_raises
• assert_respond_to
• assert_same
• assert_send
• assert_silent
Tuesday, September 10, 13
![Page 57: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/57.jpg)
• refute
• refute_block
• refute_empty
• refute_equal
• refute_in_delta
• refute_in_epsilon
• refute_includes
• refute_instance_of
• refute_kind_of
• refute_match
• refute_nil
• refute_operator
• refute_output
• refute_raises
• refute_respond_to
• refute_same
• refute_send
• refute_silent
Tuesday, September 10, 13
![Page 58: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/58.jpg)
Mocking/Stubbing
Tuesday, September 10, 13
![Page 59: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/59.jpg)
Very Basic
Tuesday, September 10, 13
![Page 60: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/60.jpg)
describe Something do let(:something) { MiniTest::Mock.new } it "does something" do something.expect(:name, 'Widget') something.name.must_equal 'Widget' something.verify end end
Tuesday, September 10, 13
![Page 61: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/61.jpg)
describe Something do let(:something) { MiniTest::Mock.new } it "does something" do something.expect(:name, 'Widget') something.verify end end
Tuesday, September 10, 13
![Page 62: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/62.jpg)
# Running tests: E Finished tests in 0.000858s, 1165.5012 tests/s, 0.0000 assertions/s. 1) Error:OpenStruct#test_0001_does something:MockExpectationError: expected name() => "Widget", got [] scrap.rb:22:in `block (2 levels) in <main>' 1 tests, 0 assertions, 0 failures, 1 errors, 0 skips
Tuesday, September 10, 13
![Page 63: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/63.jpg)
describe Something do let(:something) { Something.new(name: 'Widget') } it "does something" do something.stub(:name, 'Thingy') do something.name.must_equal 'Thingy' end end end
Tuesday, September 10, 13
![Page 64: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/64.jpg)
Struct, OpenStruct
Tuesday, September 10, 13
![Page 65: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/65.jpg)
describe "Something" do let(:something) { OpenStruct.new(name: 'Widget') } it "does something" do something.name.must_equal 'Widget' end end
Tuesday, September 10, 13
![Page 66: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/66.jpg)
describe Something do let(:something) { Something.new(name: 'Widget') } it "does something" do def something.name "Thingy" end something.name.must_equal 'Thingy' end end
Tuesday, September 10, 13
![Page 67: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/67.jpg)
Mocha, RR, FlexMock
Tuesday, September 10, 13
![Page 68: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/68.jpg)
CustomAssertions
Tuesday, September 10, 13
![Page 69: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/69.jpg)
describe Something do it "does something" do 1.2.must_round_to 1 1.7.wont_round_to 1 end end
Tuesday, September 10, 13
![Page 70: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/70.jpg)
module MiniTest::Assertions def assert_equals_rounded(rounded, decimal) assert rounded == decimal.round, "Expected #{decimal} to round to #{rounded}" end def refute_equals_rounded(rounded, decimal) assert rounded != decimal.round, "Expected #{decimal} to not round to #{rounded}" end end Numeric.infect_an_assertion :assert_equals_rounded, :must_round_toNumeric.infect_an_assertion :refute_equals_rounded, :wont_round_to
Tuesday, September 10, 13
![Page 71: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/71.jpg)
describe Something do it "does something" do 1.2.must_round_to 1 1.7.wont_round_to 1 end end
Tuesday, September 10, 13
![Page 72: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/72.jpg)
Rails
Tuesday, September 10, 13
![Page 73: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/73.jpg)
gem “minitest-rails”
Tuesday, September 10, 13
![Page 74: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/74.jpg)
ENV["RAILS_ENV"] = "test"require File.expand_path("../../config/environment", __FILE__)require "rails/test_help"require "minitest/rails" # Add `gem "minitest-‐rails-‐capybara"` to the test group of your Gemfile# and uncomment the following if you want Capybara feature tests# require "minitest/rails/capybara" module MiniTest::Expectations infect_an_assertion :assert_redirected_to, :must_redirect_to infect_an_assertion :assert_template, :must_render_template infect_an_assertion :assert_response, :must_respond_withend class ActiveSupport::TestCase # Add more helper methods to be used by all tests here... before do end after do end end
Tuesday, September 10, 13
![Page 75: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/75.jpg)
rake minitest # Run default testsrake minitest:all # Run all testsrake minitest:all:quick # Run all tests, ungrouped for quicker executionrake minitest:controllers # Runs tests under test/controllersrake minitest:lib # Runs tests under test/librake minitest:models # Runs tests under test/models
Tuesday, September 10, 13
![Page 76: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/76.jpg)
task :mt => 'minitest:all:quick'Rake::Task["default"].cleartask :default => :mt
Tuesday, September 10, 13
![Page 77: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/77.jpg)
ruby -‐I test test/models/user_test.rb
Tuesday, September 10, 13
![Page 78: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/78.jpg)
describe FeedController do describe '#index' do it 'renders an atom feed' do get :index must_render_template :index end it 'redirects from an RSS feed' do get :index, format: 'rss' must_redirect_to feed_path(format: :atom) end end end
Tuesday, September 10, 13
![Page 79: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/79.jpg)
gem “guard-minitest”
Tuesday, September 10, 13
![Page 80: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/80.jpg)
guard :minitest do watch(%r|^app/controllers/(.*)\.rb|) { |m| "test/controllers/#{m[1]}_test.rb" } watch(%r|^app/helpers/(.*)\.rb|) { |m| "test/helpers/#{m[1]}_test.rb" } watch(%r|^app/models/(.*)\.rb|) { |m| "test/models/#{m[1]}_test.rb" } watch(%r{^test/test_helper\.rb}) { 'test' } watch(%r{^test/.+_test\.rb}) watch(%r{^app/(.+)\.rb}) { |m| "test/#{m[1]}_test.rb" } watch(%r{^app/controllers/application_controller\.rb}) { 'test/controllers' } watch(%r{^lib/(.+)\.rb}) { |m| "test/lib/#{m[1]}_test.rb" }end
Tuesday, September 10, 13
![Page 81: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/81.jpg)
gem “m”
Tuesday, September 10, 13
![Page 82: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/82.jpg)
m test/models/user_test.rb:37
Tuesday, September 10, 13
![Page 83: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/83.jpg)
gem “minitest-rails-capybara”
Tuesday, September 10, 13
![Page 84: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/84.jpg)
feature "Can Access Home" do scenario "has content" do visit root_path assert page.has_content?("Home#index") end end
Tuesday, September 10, 13
![Page 85: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/85.jpg)
Wrapping Up
Tuesday, September 10, 13
![Page 86: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/86.jpg)
familiar syntax
Tuesday, September 10, 13
![Page 87: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/87.jpg)
95% of RSpec
Tuesday, September 10, 13
![Page 88: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/88.jpg)
lightweight
Tuesday, September 10, 13
![Page 89: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/89.jpg)
rspec (2.14.1) rspec-‐core (~> 2.14.0) rspec-‐expectations (~> 2.14.0) rspec-‐mocks (~> 2.14.0)rspec-‐core (2.14.5)rspec-‐expectations (2.14.2) diff-‐lcs (>= 1.1.3, < 2.0)
Tuesday, September 10, 13
![Page 90: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/90.jpg)
Ships with Ruby!
Tuesday, September 10, 13
![Page 91: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/91.jpg)
• https://github.com/seattlerb/minitest
• http://www.mattsears.com/articles/2011/12/10/minitest-quick-reference
• http://blog.arvidandersson.se/2012/03/28/minimalicous-testing-in-ruby-1-9
• https://github.com/blowmage/minitest-rails-capybara
• https://github.com/guard/guard-minitest
• https://github.com/qrush/m
• http://www.metacasts.tv/casts/minitest-spec
• http://www.metacasts.tv/casts/minitest-rails
• http://www.metacasts.tv/casts/testing-sinatra
Tuesday, September 10, 13
![Page 92: A Big Look at MiniTest](https://reader033.fdocuments.in/reader033/viewer/2022051818/54bd16524a795932448b45d3/html5/thumbnails/92.jpg)
Thanks!@markbates
www.metacasts.tv
Tuesday, September 10, 13