rspec Parte 2 – Testando controllers

Bom dia Pessoal.

Continuando a serie de posts sobre rspec. Estou me acostumando com essa ferramenta, mas de cara já posso dizer que é fantástica, pois você consegue agilizar alguns testes como validar se os cotrollers estão respondendo como esperado, sem a necessidade de dar um refresh no browser.

Hoje irei mostrar como testar controllers.

Pelo que andei pesquisando há um grande debate quando se trata de testar controllers ou não. No meu caso eu acho valido, mas esta é a minha opinião. Isso assegura que todas as rotas e comportamentos da aplicação estejam corretos.

No meu exemplo estarei testando também os acessos ao banco usando a gem FactoryGirl para criar objetos fake. Nós estamos usando também a gem Devise para realizar as autenticações. Vamos lá.

Vou utilizar o projeto toPlay como exemplo, eu não me atenho a detalhes no teste dos controllers somente valido se estes estão respondendo como o esperado (formato, redirect, etc). Quando necessário utilizo o FactoryGirl para criar os objetos para teste.

Meu controller:

class AnswerController < ApplicationController
  def get_answer
    @answer = Alternative.find(params[:answer_id])
    respond_to do |format|
      format.json { render json: { is_correct: @answer.correct } }
    end
  end
end

Basicamente este controller me responde se a alternativa escolhida é a correta, simples. O que eu testo neste caso:

- Crio os objetos para teste nesse caso, o exercicio e uma alternativa correta e incorreta.

RSpec.describe AnswerController, :type => :controller do

  let(:exercise){ FactoryGirl.create(:exercise) }
  let(:correct){ FactoryGirl.create(:alternative) }
  let(:incorrect){ FactoryGirl.create(:alternative_incorrect) }

Descrevo o metodo a ser testado

  describe "GET #get_answer" do

Dou um contexto, neste caso, user não logado

  context 'user not logged' do

E os comportamentos esperados

it 'should redirect user' do
  sign_out
  get :get_answer, { answer_id: correct.id , format: :json }
  expect(response).to be_redirect
end

Neste caso o controller me responde com JSON então eu testo um retorno Html e Json. Não espero um retorno HTML então deve dar um erro.

    context 'when request html' do
      it {
        expect{
          get :get_answer, { exercise_id: exercise.id, answer_id: correct.id }
        }.to raise_error ActionController::UnknownFormat
      }
    end

Testo os retornos para uma resposta certa e uma errada.

    context 'when given a correct answer' do
      before :each do
        sign_in
        correct.correct = true
        correct.save
        get :get_answer, { answer_id: correct.id , format: :json }
      end

      it{ expect(response).to be_success }
      it{ expect(response.content_type).to be_eql 'application/json' }
      it{ expect(response.body).to be_include '"is_correct":true' }

    end

    context 'when given a incorrect answer' do
      before :each do
        sign_in
        incorrect.correct = false
        incorrect.save
        get :get_answer, { answer_id: incorrect.id , format: :json }
      end

      it{ expect(response).to be_success }
      it{ expect(response.content_type).to be_eql 'application/json' }
      it{ expect(response.body).to be_include '"is_correct":false' }

    end

O código completo pode ser visto em:

https://github.com/CristianOliveiraDaRosa/toPlay/blob/master/spec/controllers/answer_controller_spec.rb

Neste modelo, você pode reparar que são testes simples, pois como comentei não me atenho a muitos testes de controller, prefiro apenas validar rotas e respostas esperadas.

Espero ter ajudado.

Quando usar Mocks e Stubs?

Bom dia Pessoal.

Continuando os estudos sobre TDD e BDD, estes dias me venho a questão:
- Quando usar Mocks/Stubs?
- Quando não usar?

Então pensei, isso é uma boa questão, pois se você exagerar no uso deles seus testes podem se tornar fakes, desnecessários e/ou confusos.

O que são Mocks

Segundo Martin Flower, são instancias de objetos reais, mas treinados para dar retornos esperados. Para utiliza-los você precisa de um framework, por exemplo no Java temos o Mockito, EasyMock entre outros.

Exemplo:

   @Test
   public void testGivenNewBehaviorForToStringWhenCastItShouldReturnNewReturn()
   {
      // given
      String resultExpected = "New Return";
      MyObject instance = Mockito.mock(MyObject.class);
      Mockito.when(instance.toString()).thenReturn(resultExpected);
      
      // when
      String result = instance.toString()
      
      // then
      assertEquals(resultExpected, result);
    }

O que são Stubs

Segundo Martin Flower, são implementações de interfaces com retorno esperados para testes de integração.

Veja o exemplo, vamos supor que temos a seguinte interface:

  public interface IJob {
    public String getResult();
  }

E uma classe usando ela:

class Worker {
  private IJob job;
  
  public void setJob(IJob job)
  {
     this.job = job;
  }

  public String work()
  {
     return job.getResult();
  } 
}

Seu teste usando Stub seria assim:

 class WorkerTest extend TestCase {
     @Test
     public void testGivenNewJobWhenWorkItShouldReturnJobDone()
     {
         // given
         String resultExpected = "Job done.";
         Worker worker = new Worker();
         worker.setJob(new StubJob());

         // when
         String result = worker.work();         

         // then
         assertEquals(resultExpected, result);
     }

     class StubJob implements IJob {
         @override 
         public String getResult()
         {
            return "Job done.";
         }
     }
 }

Quando devo usar?

Teste Unitário , como o proprio nome diz, é o teste da classe/funcionalidade/comportamento esperado. Se para testar isso, você tem que se preocupar muito com dependências, acesso a banco, webservice, configurações e isto irá influênciar no resultado, talvez a saída seja o uso de mocks/stubs para emular estes retornos e testar só as funcionalidades da classe que possui estas dependências.

Quando usar um e quando usar outro?

Segundo Dave Sayer em seu artigo para spring.io (Artigo em Inglês):

Seu teste deve ser fácil de ler e manter, então utilize a ferramenta que mais se adapte a estas duas necessidades. Caso o teste começe a ficar complexo dificultando o entendimento do que está sendo testado, talves seja o momento de repensar ele.

Abraços

Bower e Rails. Pode isso Arnaldo?!

Bom dia Galera.

Há um tempo atrás descobri o bower desde então venho utilizando muito ele, pois como os demais gerenciadores de dependencias que temos em outras linguagens, este também é uma mão na roda! Ele é o mesmo que o bundler é para o rails, Maven é para o Java, etc.

Hoje vou mostrar uma maneira fácil de integrar toda a funcionalidade do bower com a agilidade do Rails. Existe gems para realizar esta integração como a https://github.com/stve/bower entre outras, mas neste tutorial eu vou fazer no braço.

Bower install

Vamos por a mão na massa. Você vai precisar:

  • -Node.js instalado

Ubuntu

$ apt-get install node

Mac

$ homebrew install node
  • -Bower installado via node.js
$ npm install -g bower
  • -Rails é claro.

Crie sua aplição:

$ rails new app_with_bower
$ cd app_with_bower
$ bundle install

Inicie o bower na sua aplicação:

$ bower init

Ele irá lhe fazer uma serie de perguntas sobre a aplicação, logo apos isto ele vai gerar um bower.json com dados sobre ela:

{
  "name": "BlaBla",
  "version": "0.0.01",
  "homepage": "https://github.com/CristianOliveiraDaRosa/Bla",
  "authors": [
    "Cristian Oliveira <contato@cristianoliveira.com.br>"
  ],
  "description": "Bla bla bla",
  "moduleType": [
    "node"
  ],
  "keywords": [
    "Gamification",
    "Math",
    "Statistics"
  ],
  "license": "MIT",
  "private": true,
  "ignore": [
    "**/.*",
    "node_modules",
    "bower_components",
    "test",
    "tests"
  ]
}

Como default o bower instala todas as dependencias em bower_components, primeiro vamos alterar isso e colocar em uma pasta mais “Rails like”. Ou seja, em “app/assets/components”.
Crie um arquivo chamado .bowerrc para setar configurações ao Bower:

{
   "directory": "vendor/assets/components"
}

Perfeito está configurado.

Configurações no Rails

Para que o Rails “enxergue” os componentes que o bower irá instalar na pasta que configuramos anteriormente precisamos alterar o “/config/application.rb”:
Adicione ao final:

    config.assets.paths << Rails.root.join('vendor','assets', 'components')

Here we go!

Dentro da pasta da sua aplicação instale um componente qualquer. Uma dica, se você não sabe o nome completo do componente use o comando “search” ele vai te dar algumas opções.

$ bower install sweetalert

*Essa é uma biblioteca muito boa para alertas em js #ficadica.

E é só adicionar no seu html normalmente ou de uma maneira mais elegante fazer um require em /assets/javascripts/application.js

//= require jquery
//= require jquery_ujs
//= require foundation
//= require sweetalert/lib/sweet-alert 
//= require_tree .

$(function(){
 ...bla
})

Era isso enjoy!

Entendendo o rspec – Parte 1

Olá Pessoal.

Recentemente peguei um job onde o desenvolvedor que iniciou o projeto trabalhava com testes com rspec. Então resolvi aproveitar a oportunidade para aprender um pouco mais sobre o assunto. Pesquisei bastante até entender seus conceitos.

Segundo a documentação do rspec, ele foi desenvolvido para compreender os aspectos do BDD(Behaviour Driven Development) algo como “Desenvolvimento voltado ao Comportamento” uma variação do TDD, desenvolvimento voltado a testes. Ambos Processos de desenvolvimento ágil. É por isso, que no rspec utilizam-se palavras como “Behaviour” ao invés de “Teste” e “Exemplo” ao invés de “Método”.

Pré requistos:

  • Ruby 1.8.4 ou maior
  • A última versão da gem RSpec (3.0.3)

Instale o rspec

 
   $ gem install rspec

Crie os Comportamentos Esperados.

Para seguir a risca os conceitos do BDD é necessário que você crie os comportamentos esperados antes de implementar de fato a lógica. Vamos ao exemplo:

Crie um arquivo carro_spec.rb inicialmente com:

   
   describe Carro do
   end

e execute o spec:

   
   $ spec carro_spec.rb

Provavelmente ele dara o seguinte retorno:

  ./carro_spec.rb:1: uninitialized constant Carro (NameError)

Pois ainda não declaramos a classe Carro. Sendo assim crie um arquivo chamado carro.rb com o conteudo:

    class Carro
       @is_on

        def initialize
    	   @is_on = false
        end

        def start
       	    @is_on = true
        end

	def on?
	    @is_on
	end
    end

E declare-o:

require 'carro'

    describe Carro do
        it ":expect be on to run" do
            carro = Carro.new
            expect(carro).to be_on(true)
        end
    end

E execute novamente:

$ spec carro_spec.rb -fdoc

Carro
  expect not be on
  expect be on to run

Finished in 0.022865 seconds

2 example, 0 failures

Acredito que seja auto explicativo. Você vai criando situações de comportomentos e após suas implementações para suprir os specs. Simples e eficiente.

Abração.

Google Translate Grátis com Java

Bom dia Pessoal.

Algum tempo atrás no projeto Ivokee, aplicativo para android, precisei realizar translates para testes e para criar um protótipo. Porem o google não disponibiliza a API do Translate sem custo.
Se não me engano, não era nada muito caro, mas como estavamos fazendo um protótipo preferi procurar uma solução Free.

Procurando em foruns e grupos descobri uma url onde era possível baixar traduções do translate.google.com então criei uma classe para acessar esta url e realizar o download desta tradução em real time, com uma performance muito boa.

Para conseguir os códigos faça:

  git clone git@github.com:CristianOliveiraDaRosa/jafregle.git

Ou baixe diretamente em:

jafregle

 

Abraços
Cristian Oliveira

Análise das propostas presidenciáveis 2014 – R

Boa noite Pessoal.

Para praticar as técnicas que aprendi no curso de Mineração de dados, fiz um script em R para analisar as propostas dos presidenciáveis. O script baixa o arquivo das propostas diretamente do http://divulgacand2014.tse.jus.br/ e busca as top 10 palavras nas propostas.

Dá pra pegar algumas curiosidades interessantes.

Top dez – Dilma

brasil      57
governo     49
dilma       44
país        44
política    28
governos    27
educação    26
nacional    26
políticas   26
acesso      25

Top dez – Aécio

nacional          89
apoio             80
políticas         77
social            70
desenvolvimento   69
saúde             61
política          60
brasil            59
qualidade         54
setor             54

Top dez  - Marina

brasil            88
desenvolvimento   82
políticas         79
política          68
sociedade         60
governo           54
social            54
economia          53
educação          53
qualidade         52

 Comparação de termos em comum

Terms                Aecio Dilma Marina
  abastecimento          5     2      2
  abrir                  1     1      1
  ação                   6     2      5
  acesso                36    25     34
  ações                 48     9     30
  acompanhamento         4     1      1
  adequada              10     1      4
  adequadas              3     1      3
  administração          2     1      3
  adolescentes           5     1      3
  adultos                1     2      1
  aeroportos             1     6      2
  afirmação              1     2      1
  agenda                12     1      6
  agrária                1     2      3
  agricultores           1     1      2
  agricultura           16     3      7
  agronegócio            3     2      1
  agropecuária           2     1      8
  água                  14    10      9
  ainda                  6    17     13
  ajudar                 1     1      2
  além                  11     7     17
  alimentação            7     1      2
  alternativas           3     2      3
  alto                   2     2      1
  ambientais            11     1      7
  ambiental             15     6     29
  ambientalmente         1     1      4
  ambiente              11     2     17
  âmbito                 9     3      2
  américa                2     4      1
  ampla                  4     3      5
  ampliação             34    14      7
  ampliada               2     1      1
  ampliar                4    10     19
  amplo                  4     1      4
  animais                2     1      1
  ano                    7     5      2
  apenas                 9     5     10
  apoiar                 5     2      8
  apoio                 80    10      8
  aprimoramento         10     3      3
  aprimorar              3     1      2
  àqueles                1     2      2
  aqui                   1     2      1
  área                   8     7      7
  áreas                 28     7     16
  armas                  1     1      2
  articulação           25     1     16
  assegurar              6     4     11
  assim                 13     5     10
  assumimos              1     1      2
  atenção               24     4     11
  atendimento           14     6      8
  ativa                  3     3      2
  atividade              6     1      8
  atividades            13     1     16
  atribuições            1     4      1
  atuação                9     1     10
  atual                  2     2      7
  atuar                  1     2      4
  aumentando             1     1      1
  aumentar               8     4     11
  aumento               22    12      6
  autonomia              9     3     10
  avançar                3     2      6
  avanços                3     4      4
  baixa                  1     4      4
  baixo                  8     1      7
  base                  18     2     12
  baseado                1     3      1
  bases                  1     2      6
  básica                11     1      8
  básico                 7     4      1
  bem                   30     6     10
  beneficiários          2     1      3
  benefício              2     1      1
  benefícios             6     1      2
  biodiversidade         6     2     11
  brasil                59    57     88
  brasileira            24    18     19
  brasileiro            17    13     10
  brasileiros           18    21      6
  burocracia             2     2      2
  busca                  9     2      4
  cada                  17     9      6
  cadastro               9     2      2
  cadeia                 2     1     12
  cadeias                5     1      7
  caminho                2     6      3
  campanhas              3     1      2
  campo                  3     4      9
  capacidade             8    10      7
  capacitação            9     1      5
  carbono                6     2      8
  carentes               3     1      1
  caso                   3     1      2
  cenário                2     2      3
  central                5     1      4
  centro                 2     2      2
  centros               19     4      9
  china                  1     1      1
  ciclo                  6    13     10
  cidadania             11     5      8
  cidadão               11     3      5
  cidadãos               6     6      6
  cidades               15     3      8
  ciência               11     4      6
  científica             5     5      1
  científico             1     1      2
  cinco                  1     1      4
  civil                 11     4      9
  claras                 6     1      1
  cobertura              1     1      3
  combate               25    11      9
  combater               2     2      2
  comerciais             5     1      2
  comércio              12     3      1
  compatíveis            2     1      4
  competitiva            3     1      1
  competitividade       10     9      8
  complementar           2     3      1
  complementares         2     1      1
  compras                3     2      3
  comprometidas          1     1      1
  compromisso            8     7      8
  comunicação            6     1      4
  comunidade             9     1      4
  comunitários           2     1      2
  conceito               7     2      2
  condição               4     1     12
  condições             17    15     13
  conduzir               1     1      2
  confiança              4     2      2
  conflitos              2     1      3
  conhecimento           6     7     12
  conselho               5     1      1
  considerada            1     1      1
  consistentes           2     1      1
  consolidação           3     1      2
  consolidar             2     2      9
  constituição           3     2      1
  construção             8    14     17
  construir              3     7      5
  consumidores           2     2      1
  consumo                8     7      6
  conta                  1     3      6
  contas                 2     1      2
  conteúdo               1     3      1
  continua               2     1      1
  contínua               3     1      1
  continuar              2     5      1
  contínuo               2     2      4
  contra                10     4      3
  contribuição           5     2      5
  controle              11     4      8
  cooperação             7     1      7
  coordenação            8     2      1
  corrupção              1     3      1
  cotas                  2     3      1
  crack                  1     1      1
  creches                2     5      1
  crescer                1     3      2
  crescimento           16    18      8
  criação               50    11     10
  criadas                1     1      1
  crianças              11     4      5
  criar                  2     3     29
  crime                  2     1      2
  critério               2     3      2
  cuidados               4     1      1
  cultura               19     9     39
  culturais             16     2     15
  cultural              12     1     18
  cumprir                3     1      2
  curso                  4     2      1
  cursos                 7     4      1
  custo                  7     4      2
  custos                 6     4      3
  dada                   3     2      1
  dar                    5     8      8
  dará                   4     3      1
  debate                 5     6      3
  décadas                1     2      6
  decisão                3     2      4
  decisivo               1     1      1
  decisões               3     2      3
  defesa                29     3      9
  deficiência           18     1      1
  déficit                5     2      5
  deixou                 1     1      1
  demandas               4     1      9
  democracia             6     7     31
  democrática            2     1      3
  democrático            2     1      9
  democratização         1     3      3
  dentro                 1     2      3
  desafio                3     8      6
  desafios               5     1     14
  desde                  1     9      7
  desenvolver            1     1     15
  desenvolvimento       69    22     82
  desigualdade           5     4      7
  desigualdades          5     3     21
  desmatamento           1     2      1
  dessas                 3     1      4
  desse                  1     2      5
  desses                 3     3      3
  desta                  3     1      5
  destaca                2     1      1
  deste                  7     4      1
  destes                 2     1      1
  destinação             1     1      2
  deve                  16     3     36
  devem                 13     1     13
  diferencial            1     1      1
  diferentes             9     1     25
  digital                1     1      5
  dignidade              2     1      1
  dimensões              4     1      7
  diminuir               2     1     10
  dinheiro               1     3      1
  direção                3     1      1
  direito               13     2      4
  direitos              34    11     13
  diretrizes            52     1     10
  disponibilidade        2     1      5
  disponíveis            1     1      2
  disseminação           1     1      4
  disso                  1     2      2
  diversificação         2     1      1
  diversos               9     1      3
  diz                    2     1      2
  dois                   1     2      2
  drogas                16     1      7
  duas                   1     1      1
  dúvida                 1     2      1
  economia              25    14     53
  econômica              2    15     15
  economicamente         3     2      1
  econômicas             6     3      5
  econômico              8    10     14
  econômicos             6     2      9
  educação              46    26     53
  educacional            2     3      5
  efeito                 2     1      1
  efetiva                8     1      4
  efetivamente           3     1      6
  efetividade            2     3      2
  efetivo                5     1      2
  eficiência            14     4      4
  eficiente             10     3      5
  eleitoral              1     3      3
  elemento               1     2      3
  elementos              3     1     10
  eliminar               1     1      1
  emergências            1     1      3
  empreendedorismo       9     5      6
  emprego               12    11      4
  empregos               9     5      6
  empresas              31     9      6
  energética            12     3      5
  energia               20     7      9
  ênfase                 6     2      4
  enfim                  1     2      1
  enfrentamento          8     4      9
  enfrentar              1     5      3
  enorme                 1     2      6
  ensino                21     8      6
  entes                  2     4     10
  entorno                2     1      1
  entrada                2     1      3
  envolvidos             3     1      1
  eólica                 2     2      1
  equipamentos           6     3      7
  erradicação            9     1      5
  escala                 3     2      2
  escoamento             1     1      1
  escolar                7     1      2
  escolas               14     9      2
  esforço                6     2      6
  espaço                 3     1      4
  espaços               11     4      7
  especial              24     9      3
  especialmente         12     1      9
  esporte               10     6      4
  esportes               9     4      3
  essenciais             2     1      2
  estabelecer            1     1     14
  estabelecimento       19     1      4
  estado                17    11     40
  estados               47    18     13
  estável                2     1      3
  estimulando            1     3      2
  estimular              6     3     20
  estímulo              44     3      8
  estratégia             6     1     12
  estratégias            5     1     10
  estratégicas           4     2      3
  estratégico            2     1      6
  estrutura              2     5      3
  estruturação           8     1      1
  estruturantes          1     1      1
  estudantes             2     2      3
  ética                  1     1      1
  evitar                 3     1      1
  excelência             4     1      1
  execução              12     3      4
  exigência              2     2      2
  exigências             4     2      1
  existentes             6     1      9
  expansão               9    16      3
  exploração             2     3      3
  exportações            5     4      1
  expressão              2     4      3
  expressivo             1     1      1
  extensão               1     3      5
  exterior              11     1      2
  externa                5     2      1
  externo                3     3      1
  facilitar              3     1      1
  falta                  3     2      1
  família               11     1      1
  familiar              13     3     12
  familiares             1     1      2
  famílias              23     6     14
  fato                   1     1      6
  fator                  4     2      1
  fazer                  5     5     10
  federação              5     1      2
  federados              1     3      7
  federais               9     1      2
  federal               20    24      6
  federativa             2     4      1
  filhos                 2     1      1
  fim                    9     1      5
  final                  5     5      2
  financeira             2     2      2
  financeiros            2     1      2
  financiamento         18     6     14
  florestal              3     2      3
  florestas              3     1      1
  fomento               15     1      4
  fontes                10     3      6
  forças                 1     2      7
  forma                 46     7     44
  formação              31    12     15
  formas                 8     3      6
  formulação             4     1      1
  fornecimento           2     1      1
  fortalecendo           4     1      1
  fortalecer             4     5     11
  fortalecimento        38    15      8
  forte                  7     3      3
  fortemente             1     4      3
  frente                 2     1      3
  fronteira              1     1      1
  fronteiras             2     5      1
  função                 4     2      2
  funcional              1     1      1
  funções                1     1      3
  fundamentais           6     2      4
  fundamental           13     6     18
  fundo                  6     4      2
  futuro                 3     7      5
  ganhos                 2     1      2
  garantia              36     6      4
  garantindo            15     2      2
  garantir              12    15     13
  gás                    7     1      1
  gasto                  4     1      1
  geração               15     8     17
  gerador                1     2      1
  geral                  5     1      7
  gerando                5     1      1
  gerar                  2     3      4
  gestão                34     5     33
  global                 8     1      5
  governamentais        11     1      2
  governança             6     1      3
  grande                12    12     19
  grandes               12    11     10
  habitação              6     1      3
  habitacional           4     2      7
  hídricos               1     1      3
  história               1     7      4
  histórica              2     2      1
  histórico              1     6      1
  hoje                  10    15      3
  hospitalares           1     1      1
  humano                 3     2      5
  humanos               16     4      3
  idade                  3     1      2
  igualdade              6     4      2
  imensa                 1     2      2
  impacto                4     3      3
  impedem                1     1      2
  implantação           42     5      2
  implementação         14     5      9
  implementadas          1     1      1
  implica                1     1      7
  importância            5     3      8
  importante            12     3      3
  importantes            2     6      3
  imprescindível         1     1      2
  incentivo             30     2      4
  incentivos            10     1      7
  incluindo              9     2      1
  inclusão              10     9      6
  inclusive             20     2     14
  independentemente      1     2      1
  indicadores            3     4      9
  indústria             15     5      3
  industrial            12     6     11
  informação             9     2     12
  infraestrutura        32    17     16
  infraestruturas        1     1      1
  iniciativa             3     3      2
  iniciativas            9     1      8
  início                 2     1      1
  inovação              31     8     31
  inserção               6     1      5
  instâncias             4     2      7
  institucionais         1     6      2
  instituições          15     2     11
  instrumento            7     3      2
  instrumentos          11     3     11
  insumos                1     1      1
  integração            24     8     13
  integradas             4     1      5
  integrado              2     2      1
  integral               6     4     12
  intensa                1     1      1
  interesses             2     4      5
  intergovernamental     1     1      2
  internacionais        10     5      2
  internacional         15     6      5
  internet               5     6      2
  interno                4     1      4
  investimentos         22    19     16
  investir               2     3      6
  jogos                  1     3      1
  jovens                21     8     14
  junto                  8     4      4
  jurídica               4     1      1
  juventude              5     2      5
  lado                   1     1      5
  latina                 2     3      1
  lavagem                1     3      1
  lazer                  6     1      6
  legislação             9     3      4
  lei                    8     7      5
  liberdade              2     3      3
  licenciamento          1     3      1
  limpas                 1     1      1
  linhas                 3     2      1
  local                  5     2      6
  logística              4     2      7
  longo                  8     4      8
  maior                 33    16     24
  maiores                6     1      1
  maioria                2     2      1
  mandato                1     7      1
  mão                    5     3      5
  máquinas               1     1      1
  marco                  5     4      5
  massa                  1     3      2
  matriz                 7     2      2
  mecanismos            19     6      8
  média                  5     5      1
  medicamentos           6     1      1
  médicos                6     2      1
  medidas               11     8      3
  médio                  8     2      4
  meio                  38    16     33
  melhor                 6     7      6
  melhorar               6     4      7
  melhores               2     6      1
  melhoria              24     9     16
  memória                2     1      1
  menos                  9     4      4
  mercado               12     8      8
  mesma                  4     2      4
  mesmos                 3     1      2
  meta                   5     3      2
  metas                 12     3      8
  micro                  1     3      1
  ministério             2     1      4
  mobilidade            11     4     10
  mobilização            3     1      5
  modais                 3     1      3
  modalidades            1     1      2
  modelo                 9     7     23
  modelos                6     1      1
  modernização          14     5      1
  modo                  17     2     20
  momento                2     2      3
  movimentos             5     1      2
  mudança                9     9      9
  mudanças               6    11     11
  mulher                 7     1      1
  mulheres              21     1      5
  mundial                4     1      2
  mundo                  7    17     16
  municípios            52    17     15
  nação                  1     3      3
  nacionais             17     3      9
  nacional              89    26     31
  naturais               4     1     12
  necessária             3     4      2
  necessárias            3     4      3
  necessário             2     5     13
  necessários            1     3      4
  necessidades           8     1      5
  negócios               1     8      5
  negros                 1     1      4
  nessa                  1     2      2
  nesse                  2     1     12
  nesta                  2     1      3
  neste                  5     2      2
  níveis                 7     3      8
  nordeste               2     4      1
  norte                  2     1      1
  nova                  12     4     11
  novas                 20     9     17
  novo                   8    23     26
  novos                 14     4     12
  núcleos                2     1      2
  número                 3     2      4
  objetivo              17     6     13
  obra                   5     5      4
  obras                  6     8      4
  obtidos                3     2      2
  oferta                15     5      4
  opção                  1     1      1
  operação               3     3      1
  oportunidades          8    15      5
  ordem                  1     1      3
  organização            9     3      5
  organizações          13     1      5
  organizado             2     1      2
  outras                10     3      4
  outro                  1     6      6
  outros                 8     5     10
  pacto                  2     1      9
  país                  51    44     36
  países                17     6      5
  papel                 16     5      7
  parâmetros             1     1      1
  parceria              23     6      2
  parcerias             11     4      3
  parque                 1     6      3
  parte                 11     2     16
  participação          36     8     25
  partir                 8     6     11
  patamar                2     9      4
  patrimônio             2     1      7
  paz                    4     1      6
  pedagógicos            1     1      1
  penal                  4     1      2
  pequenas               4     2      1
  pequeno                1     1      1
  pequenos               1     5      4
  permanecem             1     1      2
  permanente            15     1      7
  permanentemente        1     1      2
  permitirá              2     2      1
  pesquisa              18     1     13
  pessoas               30     9     14
  petróleo               2    12      2
  pib                   10     2      3
  planejar               1     1      4
  planeta                3     1      3
  plano                 20     7      4
  planos                 9     1      9
  plataformas            2     2      1
  plena                  3     4      5
  pleno                  1     3      4
  pobres                 3     5      5
  pobreza               15    15     15
  pode                   6     3      4
  podemos                1     1      1
  poder                 13     6     18
  pois                   4     1      9
  polícia                1     3      1
  polícias               4     2      2
  ponto                  4     2      2
  pontos                 3     1      2
  população             28    16     28
  populações             6     2      4
  popular                5     6      3
  porque                 1     3      4
  portos                 2     6      2
  possa                  2     1      7
  possam                 3     3      5
  possível               3     3      6
  possui                 1     1      4
  potencial              3     2      7
  povo                   3     4      8
  prática                6     3      3
  praticamente           1     1      1
  prazo                  7     2      2
  precisa                4     1     13
  precisam               1     2      5
  preciso                2     1      9
  preço                  2     1      1
  presença               1     4      1
  prestação              9     1      6
  pretende               1     1      3
  previdência            9     1      1
  primeira               3     2      2
  primeiro               6     3      6
  principais             3     3      8
  principal              4     2      6
  principalmente         4     2      5
  princípio              2     1      3
  prioridade            12     8      7
  prioridades            8     2      4
  prioritária            1     1      3
  prisional              4     2      3
  privada                6     3      1
  privado               12     4      4
  problemas             11     1      8
  processo              15    12     23
  processos             15     3     17
  produção              28    15     11
  produtiva              1     8      8
  produtivas             2     1      6
  produtividade         12     6      9
  produtivo              3     2      3
  produtores             4     1      7
  produtos              14     2      8
  profissional          10     5      1
  profundas              1     1      1
  programa              38    18     23
  programas             43     7     25
  projeto                3     3      3
  projetos              27     1      7
  promoção              27     2     11
  promovendo             6     2      3
  promover               7     4     15
  propõe                 1     1      7
  proporcionando         1     1      1
  proposta               6     2      2
  propostas              2     1      4
  proteção              15     2      3
  próximos               1     2      1
  pública               31    15     22
  públicas              40     9     31
  público               30     7     20
  públicos              33     8     23
  quais                  5     3      2
  qualidade             54    19     52
  qualificação          12     6      7
  qualificando           1     1      1
  qualificar             1     1      4
  qualquer               4     3      6
  quantidade             4     2      4
  queremos               1     2      2
  questão                4     3     11
  racial                 2     1      1
  radical                1     1      2
  raízes                 1     1      1
  real                   2     3      1
  realidade              3     5     11
  realização            17     3      4
  reconhecido            1     2      1
  reconhecimento        16     1      8
  reconstrução           1     1      1
  recuperação            6     1      3
  recursos              30    13     37
  rede                  15    14     36
  redes                 13     2      3
  redução               23     9      9
  reduzindo              7     2      1
  reduzir                6     6      3
  referência             7     1      2
  reforçando             2     1      1
  reforma               11    13     16
  reformas               5     3      1
  regiões               13     4     14
  regionais             14     2     11
  regional              11     1      7
  regras                14     1      2
  regulação              6     1      1
  relação               13     5      8
  relacionamento         4     1      1
  relações               4     3      6
  relevância             3     1      1
  relevante              3     1      1
  renda                 18    13     12
  renovação              2     1      2
  representação          1     1      4
  representam            1     1      1
  representantes         4     1      4
  respeito              13     2      7
  responsabilidade       5     1      4
  responsável            2     1      4
  resultados            12     2      9
  rio                    1     4      1
  riquezas               1     1      1
  rurais                 5     1      3
  rural                  4     3      8
  salários               1     2      3
  saneamento            16     7     11
  saúde                 61    17     41
  seca                   1     1      1
  segundo                2    13      5
  segurança             39    14     24
  seguro                 1     5      2
  sempre                 4     8      2
  sendo                  6     4      5
  sentido                3     1     16
  ser                   25    12     38
  serviço                5     3      8
  serviços              36    14     35
  setor                 54     7      9
  setores                7     2      7
  setoriais              2     1      4
  sexual                 5     1      1
  significa              4     2      2
  simples                5     4      2
  simplificação         11     1      6
  simplificar            2     1      1
  sistema               35    14     15
  sistemas              12     1      6
  situação               5     7      2
  sob                    1     5      1
  sobre                 14     8     13
  sobreposições          1     1      1
  sociais               33     9     51
  social                70    24     54
  sociedade             34    11     60
  solar                  3     2      2
  solução                4     1      2
  soma                   1     1      1
  superação              3     2     11
  superar                1     1      8
  superior               9     5      4
  sus                    7     2      6
  sustentáveis           9     1      6
  sustentável           22     9     50
  talentos               2     1      1
  tamanho                1     2      1
  tanto                 10     2      8
  taxa                   3     5      3
  técnica                9     2      2
  técnicas               3     2      2
  técnico                2     3      2
  técnicos               4     2      1
  tecnologia            14     5     15
  tecnologias           17     1     20
  tecnológica           10     3     13
  tecnológicas           3     1      1
  tecnológico            3     2      2
  têm                    7     3      5
  temas                  8     2      4
  tempo                 12     9     10
  ter                    6     7     11
  termos                 6     5      4
  território             8     2      9
  territórios            3     2      4
  toda                   5     1      6
  todas                 19     8     14
  todo                  14    11      3
  todos                 23    16     30
  tornar                 5     4      1
  tornou                 3     2      3
  trabalhadores          6     5      1
  trabalho              25     7      9
  tradicionais           5     3      5
  tradicional            1     1      1
  tráfico                2     1      3
  trajetória             1     2      1
  transformação          7     6      3
  transformações         4     7      1
  transformar            2     1      2
  transparência         13     2      4
  transparente           6     2      1
  transporte             9     3      7
  transportes            2     2      2
  trata                  3     1      7
  tratados               2     1      2
  tratamento            10     3      2
  três                   2    12      3
  tributária             9     2      4
  trilhos                1     1      1
  turismo               10     1      8
  últimos                1     9      5
  união                  3     4      5
  único                 12     4      3
  unidades              10     4      9
  unidos                 1     1     39
  universalização        4     5      4
  universidades          9     6      7
  urbana                10     9     10
  urbano                 4     3      5
  urbanos               11     1      6
  urgente                1     3      3
  uso                   24     5     27
  usuários              10     1      5
  vai                    2     5      2
  valores                2     1     13
  várias                 5     1      3
  vem                    3     1      1
  verdadeira             2     1      2
  vez                    4    10      3
  vezes                  2     4      2
  vida                  30    12     41
  violência             17     3     12
  visão                  2     1      5
  vista                  4     1      2
  volume                 1     5      1
  volumes                1     1      1
  vulneráveis            8     2      1
  zero                   1     1      1

 

Segue o script:

https://github.com/CristianOliveiraDaRosa/data_mining_rscripts/blob/master/analise_propostas_2014/analise_candidatos_2014.R

Apartir dai é possível fazer outras análises, fiquem a vontade de criarem Forks no git!

Att.
Cristian Oliveira
www.cristianoliveira.com.br