Python 用于验证数组长度相等的Unittest.TestCase方法
如何将python命令行声明的变量传递给testcase实例? 编辑:a和b是方法func()的输入 文件名:code.pyPython 用于验证数组长度相等的Unittest.TestCase方法,python,class,instantiation,testcase,django-unittest,Python,Class,Instantiation,Testcase,Django Unittest,如何将python命令行声明的变量传递给testcase实例? 编辑:a和b是方法func()的输入 文件名:code.py import unittest import numpy as np def func(a,b) c = a*b return (c) class TestCases(unittest.TestCase): def test_length_a_equals_length_b(self): self.assertEqual(len
import unittest
import numpy as np
def func(a,b)
c = a*b
return (c)
class TestCases(unittest.TestCase):
def test_length_a_equals_length_b(self):
self.assertEqual(len(a), len(b), msg="len(a) != len(b)")
如何将a和b输入到测试用例中,以便在它们的长度不相同时发生错误
从终端运行文件时,出现以下错误:
ERROR: test_a_len_equals_len_b (main.TestCases)
----------------------------------------------------------------------
Traceback (most recent call last):
File "code.py", in test_length_a_equals_length_b
self.assertEqual(len(a), len(b), msg="len(a) != len(b)")
NameError: global name 'a' is not defined
不要使用assertNotEqual,而是使用assertEqual。当a和b的长度不相同时,此操作将失败 编辑以回答评论:
“a”和“b”的定义在哪里?您可以在模块作用域中定义它们(仅在code.py文件的开头),也可以在测试方法中定义它们,如下所示:
def test_length_a_equals_length_b(self):
a = [1,2,3]
b = np.array([1,2])
self.assertEqual(len(a), len(b), msg="len(a) != len(b)")
不清楚你的问题是什么。您发布的代码看起来不错。我已经编辑了代码,所以a和b是方法func()的输入。谢谢,您是正确的,但我的问题是:错误:test_a_len_equals_len_b(main.TestCases)---------------------------------------------------------------------------------------------------------------Traceback(最近一次调用):File“code.py”,在测试中\u length\u a\u equals\u length\u b self.assertNotEqual(len(a),len(b),msg=“len(a)!=len(b)”)name错误:未定义全局名称“a”,在哪里定义了“a”和“b”?你可以在你的模块范围内定义它们(就在code.py文件的开头),也可以在你的测试方法中定义它们,比如:def test_length_a_等于长度_b(self):a=[1,2,3]b=np.array([1,2])self assertEqual(len(a),len(b),msg=“len(a)!=len(b)”,我希望将这个文件用作一个模块,因此,a和b变量将在外部定义。这是否超出了测试用例的范围?所有的测试用例都应该包含它们的输入变量吗?不,在测试用例上创建的变量只是一个例子。在外部定义变量时,必须首先导入它们。类似于:从myprogram.mymodule导入a,bI希望:将code.py导入到另一个文件中,并在func(a,b)具有不同长度的数组时使用测试用例出错。但是,这可能不在测试用例的范围内。
def test_length_a_equals_length_b(self):
a = [1,2,3]
b = np.array([1,2])
self.assertEqual(len(a), len(b), msg="len(a) != len(b)")