Skip to content

Latest commit

 

History

History
155 lines (112 loc) · 3.17 KB

index.md

File metadata and controls

155 lines (112 loc) · 3.17 KB

testing

what testing is

the hot soup problem

  • boxes of hot soup to be delivered
  • how to determine how many parallel packers?

basic test principles

the pyramid

the simple version

^ martin fowler

^ mike cohn

another version

^ anand bagmar

-> google testing blog's 30 min video on unit tests

the blocks

^ pete hodgson

unit tests
integration tests
acceptance tests

write tests first

red green refactor

orbit

why you should test

cost of change

light bulb

canary

guide design

near instant feedback

know which X broke Y

testing in action

exercises

tdd game of life

static sites

  • jekyll
  • middleman

broken links

spell checker

cliche checker

dynamic sites

  • sinatra
  • rails
  • express

tests

  • basic login test

front end challenges

  • browsers
  • cache

more examples

mvc

  • unit tests
    describe '#normalize!' do
      it 'normalizes coordinates to "[0,x],[60,y]" form' do
        coordinate = Coordinate.new(300,3,240,4)
        coordinate.normalize!
        expect(coordinate.coordinates).to eq [[0,3], [60,-7]]
      end
    end
  • integration tests

^ flash persistence test

^ hartl's rails tutorial

  • acceptance tests

continuous

tools

JAVASCRIPT

RUBY/RAILS

  • rspec
  • minitest
  • cucumber
  • guard
  • rake
  • binding.pry
  • pry-rescue
  • pry-stack_explorer
  • rspec-given
  • httpie

PYTHON/DJANGO

  • lettuce
  • behave

browser

  • postman

shell

  • curl
curl "localhost:4000"

the end

testing_over ^ play this game