【发布时间】:2014-06-24 22:16:01
【问题描述】:
在我的主要代码中,我有这个:
#comp.py
parser = ArgumentParser()
parser.add_argument("-n", dest="deg", default=100,type=int, help="setup value of deg")
parser.add_argument("-k", dest="k", default=25, type=float, help="setup value of k")
parser.add_argument("-l", dest="l", default=0, type=int, help="setup value of l")
args = parser.parse_args()
def afunc(x):
...
#do something with k, l, deg and the return the result
...
return result
还有我的测试文件verify.py:
#verify.py
import unittest
import comp
class TestFuncs(unittest.TestCase):
def test_afunc(self):
self.assertEqual(afunc(0), 0)
self.assertEqual(afunc(1), 0)
self.assertEqual(afunc(1), 1)
self.assertEqual(afunc(3.2), 1)
...
当我尝试运行nosetests 来测试函数afunc(...) 的结果时,我得到了这个错误:
machine:project user$ nosetests verify
usage: nosetests [-h] [-n DEG] [-k K] [-l L]
nosetests: error: unrecognized arguments: verify
如何解决这个问题?
【问题讨论】:
-
你是怎么开始
nose的?您要测试的文件的名称是什么,完整的内容是什么? (或内容尽可能短,但仍然显示问题)。你希望nose做什么? -
看起来
nosetests可执行文件认为verify是一个参数而不是一个文件。也许你可以给它你的verify.py文件的完整路径或者从更合适的位置运行nosetests? -
@JanVlcinsky 和 Yani 请检查我的答案,它对我有用。如果您有任何其他想法,请添加一些答案或放置一些 cmets,谢谢您的帮助。
-
@teces907 实际上,问题可能要简单得多-您对
nosetests的调用正在传递参数verify,它应该是verify.py -
@terces907 无需为糟糕的体验道歉。您正在改进它,事实上,它是永无止境的迭代过程。
标签: python unit-testing parsing command-line nose