Abstract test definitions

  Allows tests to be run with different dependencies