Ich habe die Nase Test erstellen:Nase erforderlich 2 Argumente
import nose
from nose.tools import istest, nottest
nose.run()
path1 = "/some/my/path1/"
path2 = "/some/my/path2/"
@istest
def compare_dir(path1, path2):
my_bool = mytest, bool
yield my_test, my_bool
sub_path1 = path1 + "some_path"
sub_path2 = path2 + "some_path"
compare_dir(sub_path1, sub_path2)
def my_test(is_equal):
assert is_equal, "Not equal!"
Und ich habe eine Fehlermeldung anzeigt:
Traceback (most recent call last):
File "/Python27/lib/site-packages/nose/case.py", line 197, in runTest
self.test(*self.arg)
TypeError: compare_dir() takes exactly 2 arguments (0 given)
Was mache ich falsch? Ich habe bereits 2 Argumente für compare_dir
geben. Ich habe beginnen Test als
/path/to/my/test/my_test_name.py --tests=my_test_name
Vielen Dank! 'def compare_dir (Pfad1 = Pfad1, Pfad2 = Pfad2):' Dieser funktioniert! Aber warum nimmt es keinen Wert von 4 und 5 Zeilen? –
Da, wenn Sie solche Werte in eine Funktion eingeben, sagen Sie, dass Sie etwas nennen wollen, das innerhalb der Funktion übergeben wurde. Es wird angenommen, dass es sich um brandneue Variablen handelt, die nur in dieser Funktion verwendet werden. –
Sie könnten es mit 'compare_dir (path1, path2)' in Ihrem Code aufrufen, aber alle definierten Variablen am Anfang von Funktionen sind standardmäßig nichts und müssen ausgefüllt werden. –