2010-10-08 5 views
0

Bonjour j'ai un problème avec les tests unitaires Ruby, je suis nouveau si l'aide serait belletest unitaire Ruby - variable d'instance déclarée setUp prend valeur nulle

class TestItem < Test::Unit::TestCase 
def setUp 
    **@item**=Item.new('Food','Burger',120) 
end 
def testGetType 
    assert_equal(**@item**.getType,'Food') 
end 
end 

Ici, la valeur de la variable d'instance @item prend nul quand je le déclare dans setUp() et l'utilise dans les fonctions de test! Donc, je reçois une erreur comme aucune méthode 'getType' pour nil-class

Mais quand je l'utilise directement comme assert_equal (Item.new ('Food', 'Burger', 120) .getType, 'Food'), ça fonctionne bien.

S'il vous plaît signaler à mes erreurs, merci à l'avance

Répondre

2

Le nom de la méthode setup est setup, pas setUp. En fait, jamais trouver une méthode appelée setUp dans Ruby, puisque le style Ruby standard pour la dénomination de la méthode est snake_case, pas camelCase. (De même pour getType et testGetType, BTW. Il devrait être get_type et test_get_type. Eh bien, en fait, Ruby, getters ne sont pas préfixés avec get, si vraiment il devrait être type et test_type. Mais notez que Ruby, tous les objets J'ai déjà la méthode type, bien que cela soit obsolète.)

+0

Merci beaucoup, je suis d'origine python donc .. Merci mec :) – theReverseFlick

Questions connexes