def tdd_ios( hint: RubyMotion ) @ #SydInMotion

def tdd_ios( hint: RubyMotion ) @ #SydInMotion

Brief testing lightning talk from April 2014's #sydinmotion.

D79fc498d7a5b2ce12180890247476f0?s=128

Jon Rowe

April 15, 2014
Tweet

Transcript

  1. def tdd_ios(  hint: RubyMotion) @JONROWE

  2. @JONROWE

  3. @JONROWE So don’t?

  4. ObjectiveC

  5. ObjectiveC TDD IS HARD!

  6. ObjectiveC TDD IS HARD! (or just not popular)

  7. PhoneGap?

  8. PhoneGap? JS

  9. PhoneGap? JS TDD’able

  10. PhoneGap? JS TDD’able Sucks...

  11. RubyMotion?

  12. RubyMotion? Ruby

  13. RubyMotion? Ruby Compiles

  14. RubyMotion? Ruby Compiles Access to all the APIs

  15. RubyMotion? Ruby Compiles Access to all the APIs

  16. RubyMotion? Ruby Compiles Access to all the APIs

  17. Has testing built in

  18. Bacon !

  19. Bacon MacBacon

  20. Bacon MacBacon Runs In Simulator

  21. None
  22. Unit Testing

  23. Unit Testing Integration Testing

  24. Unit Testing Integration Testing Acceptance Testing (limited)

  25. Use Rubyisms

  26. Use Rubyisms Stub web requests

  27. Use Rubyisms Stub web requests Simulate device events

  28. Felt Like Rails

  29. Solution?

  30. Pure Ruby Library

  31. Pure Ruby Library RSpec / MiniTest

  32. Pure Ruby Library RSpec / MiniTest Ruby 2.0.0

  33. Caveats:

  34. Caveats: Libs don’t always behave the same.

  35. Caveats: Libs don’t always behave the same. (JSON)

  36. Caveats:

  37. Caveats: no require

  38. Caveats: no require no metaprogramming

  39. Caveats: no require no metaprogramming alloc / init vs initialize

  40. end

  41. Bonus Code

  42. None
  43. None
  44. See Also: https://github.com/JonRowe/locomotion