我有一份文件来验证标签
#configmanager.py
class FunctionNode(object):
def __validate_func_label(self, func_label):
pattern = re.compile('^fn[1-9][0-9]{0,1}$')
if not pattern.match(func_label):
raise Exception(
f"Invalid value {func_label} for function label in function config.")
我必须使用单元测试为它编写一个测试用例。测试用例将检查如果用户输入fn
在1和99之间,它将通过。否则,如果fn
超出范围,例如fn0
或fn100
,则失败。我写了一个测试类
#test__validate_func_label.py
import unittest
from configmanager import FunctionNode
class TestValidateFuncLabel(unittest.TestCase):
def setUp(self):
pass
def test_fn_within_range(self):
for i in range(1,99):
self.assertEqual(fn(i),output[i])
if __name__ == "__main__":
unittest.main()
但我觉得我没有走上正轨。是否有任何方法可以断言fn
在1到99之间?
感谢您的帮助。
另一个解决办法是:
https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertIn
self.assertIn(fn, range(1, 100))
self.assertTrue( 0<=y<=99)
其中y
是要检查的fn
的值。
然而,我不明白你的问题和你的代码有什么关系。在代码中,您断言fn(i)
有一个特定的值(取自名为output
的列表,该列表未在其他地方定义),其中i
取1到98之间的每个值。
但是在你的问题中,你问的是断言值在这些数字之间。
问题内容: 有没有一种方法可以在不执行此冗余代码的情况下测试范围: ? 就像一个函数: 用法: ? PHP是否具有这种内置功能?还是其他方式可以做到? 问题答案: 我认为您不会获得比您的功能更好的方法。 它是干净的,易于遵循和理解的,并返回条件的结果(无混乱)。
问题内容: 在Python中,有没有一种方法可以获取可以使用的最大整数?是否有一些像INT_MAX这样的预定义常量? 问题答案: Python具有任意精度的整数,因此没有真正的固定最大值。您仅受可用内存的限制。 在Python 2中,有两种类型,int和long。ints使用C类型,而longs是任意精度。您可以使用查找最大值int。但是int会自动将提升为long,因此您通常不必担心: 工作正常
这会产生以下错误: 所以我需要小数的范围 但它不接受int值
我想用“IntStream”来执行后范围。 所以,普通看起来像: 但是我需要,像这样: 如何实现?
问题内容: 我设法绘制了数据,并想为其添加背景图像(地图)。数据是按长/纬度值绘制的,我也具有图像三个角(左上角,右上角和左下角)的长/纬度值。 我试图弄清楚如何在imshow中使用’extent’选项。但是,我发现的示例并未说明如何为每个角指定x和y(在我的情况下,我具有三个角的信息)。 将图像添加到绘图中时,如何为图像指定三个角的位置? 谢谢 问题答案: 在当前轴的坐标中指定要粘贴图像的矩形的
问题内容: 我想将数字限制在一定范围内。目前,我正在执行以下操作: 这样可以将其保留在和中,但看起来不太好。我怎样才能做得更好? PS:仅供参考,我正在使用Python 2.6。 问题答案: def clamp(n, minn, maxn): return max(min(maxn, n), minn) 或功能等效: 现在,您使用: 或者说得很清楚: 更清晰: