Run dynamic generated Python code safely

We’ve developed this to be able to run trusted methods as batch operations that were saved into database to be performed later on. The code is easy to understand reading its tests: Tests: Check out this file Code: import os import inspect import inspect class...

When to use mock() and proxy()

This is about Python Mocker features. In order to pass in a mock as a parameter to the SUT (subject under test) you might think of creating the mock using either, “mock()” method or “proxy(SomeClass)” method. They both yield mocks but they work...

Lista de TDD en castellano!

Se acaba de crear una nueva lista sobre Test Driven Development en castellano: http://groups.google.com/group/tddev-sp Muchas gracias a Jose Ramón Diaz por la iniciativa. Esperemos que los recursos en castellano sigan aumentando.

Signum Framework, opensource y made in Spain

Leyendo la lista de ALT.Net hoy me he llevado una grata sorpresa. Hay una empresa de Madrid que ha liberado un framework open source para .Net. Se llama Signum Framework. La verdad que no lo he podido mirar pero la web está chula. Independientemente de que sea malo o...

Run just a group of tests

Sometimes we (my team in our current project) have a single TestCase (class) holding tests for several SUTs (classes). That is not right as every class should have its own TestCase (It has to do with the fact that instantiating the tests to run them is a pain with...

Optional arguments are evil

When it comes to version and API changes, Python optional arguments are evil. Say you define a function like this: def someFunction(param1, param2, optParam=None) # code And you are calling it from module whatever.py like this: retValue = someFunction(x, y, z) A few...

Catch the exception and throw it again

Same behavior in Python and C#… Wrong code: try: # some code except Exception, e: # log the exception or whatever raise e Right code: try: # some code except Exception, e: # log the exception or whatever raise # JUST RAISE!!! Wrong code: try { // whatever }...

Continuous Integration on Python

Hudson and Cruise Control are very popular among Java/.Net developers but when it comes to Python, … Hudson also seems to work on python!. Open source tools for Python continuous integration: Hudson Buildbot Bitten However, I just want a simple way to check out...

TDD Efficacy and enemies

Part of this information has been got from the testdrivendevelopment group. The main enemy of TDD is…. the lazy developer. I’d rather say, the lazy programmer. It’s good to read that it is just not only me who thinks that laziness is the most...