Teste unitário

3 respostas
bzanchet

No seguinte livro:

http://manuals.rubyonrails.com/read/chapter/27#page70
class SecretAgent < Test::Unit::TestCase

  fixtures :secret_agents

  # ensure the SecretAgent plays well with the database
  def test_create_read_update_delete
    jimmy = SecretAgent.new("jagent", "unbelievablysecretpassword")
    assert jimmy.save
    agent = SecretAgent.find(jimmy.id)
    assert_equal jimmy.username, agent.username

Isto pode ser chamado de teste unitário, mesmo testando também o banco de dados?

3 Respostas

cv1

Se ele nao estiver testando nenhuma unidade do seu sistema alem de SecretAgent, pq nao?

bzanchet

Certo, Obrigado.

Uma suposição: se por acaso SecretAgent tivesse:

class SecretAgent < ActiveRecord::Base has_many :weapons end

O uma chamada ao método ‘save’ de uma instância de SecretAgent implicaria em chamadas ao ‘save’ de outras classes. Como seria o teste unitário?

cv1

Voce poderia mockar Weapon e garantir que save foi chamado nelas. Da uma olhada no mocha, rspec pra Ruby ou JMock e EasyMock pra Java.

Criado 3 de setembro de 2006
Ultima resposta 3 de set. de 2006
Respostas 3
Participantes 2