Testando Controller/Dao do VRaptor

Para a aplicação Web eu uso o Interceptor do VRaptor para abrir e fechar as transações.
E quando vou rodar o teste no JUnit? Quem abrirá e fechará as transações? Qual a alternativa que pode ser utilizada?

você mesmo abre e fecha a transação nos testes, no @Before e no @After

Teria como alguém disponibilizar um exemplo de como ficaria uma classe de LoginControllerTest para testar o método logout da classe LoginController indicada abaixo?
Como faço para já trazer os atributos result, usuario, e validator já carregado na minha classe de Teste, não sei como fazer.

@Resource
public class LoginController {

	private Result result;
	private Usuario usuario;
	private final Validator validator;
	private HttpSession httpSession;

	public LoginController(Result result, Usuario usuario,
			Validator validator) {
		this.result = result;
		this.usuario = usuario;
		this.validator = validator;
	}



	@Get("/logout")
	public void logout() {
		usuario.loggout();
		result.redirectTo(this).login();
	}

}

você pode usar uma biblioteca de mock como o Mockito https://code.google.com/p/mockito/

tem vários exemplos de como usá-lo nos próprios testes do VRaptor