Hallo Michael,

was bringt er Dir denn für einen Fehler?

Das das Product mehr als null Autoren hat? Das Product kann ja vorher schon
einen Autor haben! In deinem Test addest du einen Autor und löschst Ihn
wieder und dann prüfst Du auf die Anzahl null.


def test_add_delete_author
   product = products(:buchtitelxy)

   ich_habe_so_viel_autoren = product .authors.size

   author_id = authors(:autorxy).id
   product.author_id= author_id
   product.save

   # hier solltest Du checken ob wirklich einer dazugekommen ist
   assert_equal ich_habe_so_viel_autoren+1, product.authors.size

   # wieder löschen
   get :delete_author, :id => product.id, :assoc_id => author_id
  # hier noch ein assert_response einbauen

  # hier sollten es wieder soviele wie vorher sein!
   assert_equal ich_habe_so_viel_autoren, product.authors.size
end

Herzliche Grüße,
Michael


Am 20.05.2007 20:02 Uhr schrieb "Michael Kastner" unter <[EMAIL PROTECTED]>:

> Hallo Urban,
> 
> vielen Dank für Deine Antwort. Ich stehe vor folgendem Problem:
> 
> Egal welchen Methodennamen ich dem "get" übergebe, es wird keine Exception
> geworfen.
> 
> D.h. egal ob ich nun
> 
> get :delete_bla
> 
> oder
> 
> get :delete_nonsense
> 
> oder
> 
> get :delete_author
> 
> hinschreibe, der Befehl wird schlicht ignoriert.
> 
> Ich würde zumindest eine Exception erwarten, wenn ich im Test per get eine
> action aufrufe, die überhaupt nicht existiert.
> 
> Viele Grüße
> 
> Michael Kastner
> 
> 
> 
> 
> Urban Hafner schrieb:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>> 
>> 
>> On May 20, 2007, at 15:08 , Michael Kastner wrote:
>> 
>>> Hallo,
>>> 
>>> ich habe hier wieder mal den klassischen Fall: Programm funktioniert,
>>> aber der Test nicht.
>>> 
>>> Ich habe diese Methode in meinem Controller/Functional-Test:
>>> 
>>> def test_add_delete_author
>>>   # erstmal Autor als Assoziation hinzufügen, damit
>>>   # auch etwas zum löschen da ist
>>>   product = products(:buchtitelxy)
>>>   author_id = authors(:autorxy).id
>>>   product.author_id= author_id
>> 
>> Hier hast du nur einen Author unten aber authors. Ist das richtig?
>> Ausserdem ist das mit author_id nicht noetig. Mach doch einfach
>> product.author = author.
>> 
>>>   product.save
>>>   # jetzt möchte ich die Assoziation
>>>   # wieder löschen
>>>   get :delete_author, :id => product.id, :assoc_id => author_id
>>>   assert_equal 0, product.authors.size
>> 
>> Kann sein, dass du hier ein product.authors(:refresh).size machen musst,
>> damit die Daten erneut aus der DB geladen werden.
>> 
>>> end
>> 
>> Urban
>> - --
>> http://bettong.net
>> 
>> 
>> 
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG v1.4.6 (Darwin)
>> 
>> iD8DBQFGUH29ggNuVCIrEyURAgL4AJ95674RUNV07j9WTeitkWiEBKQZ4ACgpn1t
>> 7gy279Xs2p5EVuzKb7zp1R4=
>> =ZShK
>> -----END PGP SIGNATURE-----
>> _______________________________________________
>> rubyonrails-ug mailing list
>> [email protected]
>> http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug
>> 
>> 

_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Antwort per Email an