Tests: Difference between revisions

From Octave
Jump to navigation Jump to search
m (fixing headers level)
(added link for octave manual)
Line 1: Line 1:
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. There's a section in the [[http://www.gnu.org/software/octave/doc/interpreter/Test-Functions.html#Test-Functions|octave manual]] for it.


= Writing tests =
= Writing tests =

Revision as of 18:40, 29 November 2011

Writing tests for function is an important thing that is usually overlooked. It helps a lot in preventing regression. There's a section in the [manual] for it.

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