Generate Test Cases Intellij Plugin

Generates Test Cases is a port of Eclipse’s generate test cases plugin described here:

http://wiki.openmrs.org/display/archive/Generate+Test+Case+Eclipse+Plugin

This project aims to make it easier to make TDD with a really cool and easy approach that consist in
annotating interface method with desired behaviours like this:

public interface Person {

/**
*
* @return
* @should say hello, and nothing more that that
*/
String sayHello();
}

So with this plugin you could generate a test class for this interface like this one automatically:

import org.junit.Assert;
import org.junit.Test;

public class PersonTest {

/**
* @see Person#sayHello()
* @verifies say hello, and nothing more that that
*/
@Test
public void sayHello_shouldSayHelloAndNothingMoreThatThat() throws Exception {
//TODO auto-generated
Assert.fail(“Not yet implemented”);
}
}

And then test your implementation code like this

public void sayHello_shouldSayHelloAndNothingMoreThatThat() throws Exception {
assertThat(intance.sayHello(), is(“hello world”));

}

This way you can realize that for testing this behaviour you just wrote the should annotation in the sut (system under test) in a really
descriptive way.

/**
*
* @return
* @should say hello, and nothing more that that
*/
String sayHello();

Auto-generated the test class and test method (using the plugin) and then tested the actual expected behaviour with (hamcrest style junit test):

assertThat(intance.sayHello(), is(“hello world”));

If you want to try it out you will need to install it in you IntelliJ IDEA as a plugin, you can use the regular plugin installation manager from inside intellij, just type ‘GenerateTestCases’ to find the plugin and install it, remember you will need to restart IntelliJ IDEA to get it working.

Here you can see a video showing you how to install and make basic usage of the plugin:

 

TODO record desktop and upload video

Comunicación efectiva, poniéndose en el lugar del interlocutor

Leo en http://semanaeconomica.com un artículo muy interesante llamado “Maldito el que sabe”, me tomo el atrevimiento de transcribirlo:

Elizabeth Newton, de la Universidad de Stanford, realizó su tesis doctoral usando el juego típico de adivinar canciones: uno tararea y el otro adivina. De 120 repeticiones con individuos y canciones aleatorias, apenas se adivinaron 3 (2,5% de los casos). Los “taradeadores”, por llamarlos de algún modo, habían anticipado una probabilidad de 50% de éxito, una proporción 20 veces mayor que la real. De ahí surge la expresión “la maldición de saber”. El que sabe mucho de algo cree, por lo general, que el otro lo va a comprender mucho más fácilmente de lo que en realidad ocurre.

Cuando usted tiene una idea o un mensaje que comunicar, debe reconocer que su dominio del tema puede ser la mayor dificultad para comunicarse. Piense en su audiencia. Aproveche a un lego en la materia para ver si se le entiende, antes de mandarse con todo. No importa si es ingeniero, agrónomo, economista, y mucho peor si es abogado (para los cuales hablar en complicado es casi una obligación moral): el riesgo de que se complique demasiado es grande. Aquí se aplica lo que los psicólogos recomiendan a los padres para hablar con sus hijos sobre el sexo: explique lo necesario y asegúrese de estar entendiendo bien lo que su hijo quiere saber. Si no, puede que a mitad de explicar el Kama Sutra for Dummies, caiga en cuenta de que la pregunta sobre “qué son las relaciones orales”, se refería de verdad a los cuentos que se transmiten de generación en generación.

Personalmente me impactó y de alguna manera me sentí identificado con este fragmento:

El que sabe mucho de algo cree, por lo general, que el otro lo va a comprender mucho más fácilmente de lo que en realidad ocurre.

Me sucede frecuentemente cuando explico algo (derepente sobre programación) que mi interlocutor adquiere una mirada aguda, y asumo (equivocadamente) que me está siguiendo sin problema alguno, pero, para aplacar las dudas pregunto: ¿Entiendes? y responde que sí, pero la experiencia confirma que este sí no es sino una manera de cumplido, o derepente una expresión casi mecánica o simple verguenza para aceptar que no entiende.

¿Y tú? ¿Sabes comunicarte?