Simplifying Tests by Extracting Side-Effects
25-Feb-2021 1294
Test-driven development, object-oriented design, and functional programming converge on some similar ideas.Functional programming gives us a mental model that can be helpful when looking at unit testing our object-oriented code. In particular, it gives us two terms:Pure functions - these are deterministic methods with explicit inputs and outputs (e.g. no implicit dependency on the system clock). This kind of method is the easiest to test.Side-effects - Any source of inputs or outputs for a method that are not part of the arguments or return value. Examples include calls to Time.now, or writing the output to a file. These types of methods are non-deterministic, which makes them trickier to test and usually involves some mocking or stubbing.
Simplifying Tests by Extracting Side-Effects #ruby #rubydeveloper #rubyonrails #Simplifying #Tests #Extracting #Side-Effects #tests https://rubyonrails.ba/link/simplifying-tests-by-extracting-side-effects