2013-02-15 1 views
0

ceci est ma première question sur ce forum! J'essaie d'écrire un fichier de test pour une classe dans un autre fichier (All in Python btw) et j'obtiens un NameError: variable globale nom ici undefined. Je vais vous montrer un exemple de code de ce que je fais.NameError variable globale indéfinie, même si elle est dans la même fonction et n'a pas été importée?

import unittest 
from File import * 


class TestFile(unittest.TestCase): 

    def object_test_setup(self, elements): 
     s = CustomClass() #from imported File, have to import items this way. 
     for item in elements: 
      a.insert(item) 
     return (a) 

    def test_contains_tuple_element(self): 
     '''Return True iff CustomClass contains tuple element''' 
     custom_object = object_test_setup([1, "string!", ("TUP", "LE")]) 
     element = ("TUP", "LE") 
     self.assertTrue(custom_object.__contains__(element)) # __contains__ is defined in File 

ouais si l'objet s'initialisé très bien, toutes les méthodes de travail de fichier importé sur l'objet, mais pour une raison quelconque mon NameError dit NameError: global name 'object_test_setup' is not defined

que je ne comprends pas parce que tout est importé des œuvres dans ce fichier, je crois que j'ai importé correctement et le NameError globale provient d'une fonction au sein de la classe elle-même. pourquoi pas ce travail? Toute aide est très appréciée!

Un grand merci, Thomas

+0

'self.object_test_setup (...)'? –

Répondre

2

C'est une méthode de classe, de sorte que vous devez l'appeler comme un:

custom_object = self.object_test_setup([1, "string!", ("TUP", "LE")]) 
Questions connexes