Teste unitário

No seguinte livro:

http://manuals.rubyonrails.com/read/chapter/27#page70

[code]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[/code]

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

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

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?

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.