Tests: Difference between revisions

From Octave
Jump to navigation Jump to search
(created page and moved stuff from [Tips and tricks])
 
m (fixing headers level)
Line 1: Line 1:
= Tests =
Writing tests for function is an important thing that is usually overlooked. It helps a lot in preventing regression.
Writing tests for function is an important thing that is usually overlooked. It helps a lot in preventing regression.


== Writing tests ==
= Writing tests =
=== in .m files ===
== in .m files ==
=== in .cc files ===
== in .cc files ==
===declaring functions inside a test block===
==declaring functions inside a test block==


  function experience
  function experience
Line 25: Line 24:
  %! % endfunction: don't add it here. Let test() do it.
  %! % endfunction: don't add it here. Let test() do it.


== running tests ==
= running tests =
=== from m files ===
== from m files ==
=== from .cc files ===
== from .cc files ==
You can run tests in .cc files by doing something like
You can run tests in .cc files by doing something like
   test /full/path/to/file.cc
   test /full/path/to/file.cc

Revision as of 18:39, 29 November 2011

Writing tests for function is an important thing that is usually overlooked. It helps a lot in preventing regression.

Writing tests

in .m files

in .cc files

declaring functions inside a test block

function experience
%!test
%! experience_design_mat
%! experience_obs_eqs
%! assert (experience_design_mat == pi);
%! assert (experience_obs_eqs == exp(1));
%!
%! endfunction  % this is a trick.
%! % now we can declare functions to be used by the test above.
%!
%! function a = experience_design_mat 
%!     a = pi;
%! endfunction
%!
%! function b = experience_obs_eqs
%!     b = exp(1);
%! % endfunction: don't add it here. Let test() do it.

running tests

from m files

from .cc files

You can run tests in .cc files by doing something like

 test /full/path/to/file.cc