> the problem is, most of my code is "create or modify something in the scene" 
> rigging utilities, e.g., create ik/fk/elbowik setup, calculate corrective 
> shape, calculate blendshape inbetweens for smooth interpolation. the only way 
> i see to test them is to actually load sample scene, execute the code, then 
> SOMEHOW test validity of the created data

yeah, testing is tedious, but you pretty much hit the nail on the head as far 
as workflow.  with a unittest class, each class has a setUp and tearDown 
method, which you can use to ensure that you have the proper testing 
environment setup for each test.

> Anyway, the short version the question: what kind of automated testing you 
> guys have used, how that works, and what are cons and pros?

we use 'nose', which makes running the tests a lot easier.  nose will search a 
python package for anything that looks like a test -- unittest classes, doctest 
strings, and functions named 'test*' -- and run them.  this is much more 
convenient than explicitly tying together all of your unittest classes into a 
test suite.  nose also supports generators as tests, so if the problem you are 
trying to test for can be tested in a semi-automatic way, this makes life a lot 
easier.  for example, pymel uses generators to create loop through its database 
of nodes and methods and create a test for every get/set method pair ( ex. 
getFocalLength, setFocalLength ).  

there's also pythoscope http://pythoscope.org/ which i've never used but which, 
if you're testing classes, can help to write a lot of your boilerplate testing 
code.

good luck!

-chad

-- 
http://groups.google.com/group/python_inside_maya

Reply via email to