Precursor to Effective Ruby.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Peter J. Jones 865ff1e0f7 New chapter on RubyGems (first chapter in Markdown) 8 years ago
chapters New chapter on RubyGems (first chapter in Markdown) 8 years ago
notes New chapter on RubyGems (first chapter in Markdown) 8 years ago
source Add a few meta programming source files 10 years ago
Makefile Add clean targets 10 years ago
README More testing content 10 years ago
adv-ruby.tex Added more beef to the testing chapter 10 years ago


-*- mode: org -*-
#+STARTUP: showall

* Chapters
** Automated Testing
*** What Testing Is and Isn't
- Automation (you're going to test anyways)
- Regression
- Code coverage
*** Approaches to Testing
- Testing Methodologies
- Test Driven Development
- Write test before you write code
- Behavior Driven Development
- Testing Techniques
- Black-box testing
- White box testing
- Testing Scopes
- Unit Testing
- Integration Testing
*** Ruby Testing Facilities
- Test::Unit library
- Brief mention of RSpec and Cucumber
- List of test unit assertions
- Mocking
- Fuzzing
*** Writing Effective Tests
- Write them before you write the code
- Get them to fail
*** Chapter Recipes
- Replacing a method without mocking because of side effects
(setting a variable)
- Testing without an internet connection using mocking and local
** Content Ideas
*** Blocks
**** Knowing if a block takes arguments
*** Return vs Break vs Last
*** Ruby Object Model
**** Review of class methods and variables
*** Method dispatch and collisions
*** defined?
*** Creating new classes at runtime
*** Contextual `self'
*** Closures
*** Singleton Classes
*** Parallel Computing
**** Threads vs. Processes
*** Performance Considerations
**** Each loops vs. For
*** Introspection
**** Listing variables, methods, and constants
*** Modular Programming with Modules
*** Unit Testing and Mocking
*** Debugging
*** Object Serialization
*** Writing Ruby Modules in C
*** Date Manipulation