鼻子需要 2 个参数
Nose required 2 arguments
我创建了鼻子测试:
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!"
我有错误:
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)
我做错了什么?我已经为 compare_dir
给出了 2 个参数。
我已经开始测试
/path/to/my/test/my_test_name.py --tests=my_test_name
据我所知,这是因为您假设您的函数默认采用全局变量 path1 和 path2,但事实并非如此,在函数启动级别,您不会获得隐含值,除非您明确定义它们。
您可以尝试更改
def compare_dir(path1, path2):
至
def compare_dir(path1=path1, path2=path2):
这样,如果默认情况下没有传递任何内容,它应该采用全局值。
我创建了鼻子测试:
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!"
我有错误:
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)
我做错了什么?我已经为 compare_dir
给出了 2 个参数。
我已经开始测试
/path/to/my/test/my_test_name.py --tests=my_test_name
据我所知,这是因为您假设您的函数默认采用全局变量 path1 和 path2,但事实并非如此,在函数启动级别,您不会获得隐含值,除非您明确定义它们。
您可以尝试更改
def compare_dir(path1, path2):
至
def compare_dir(path1=path1, path2=path2):
这样,如果默认情况下没有传递任何内容,它应该采用全局值。