此页面由 Cloud Translation API 翻译。
Switch to English

tfds.testing.DatasetBuilderTestCase

GitHub上查看源代码

继承这个类来测试你的DatasetBuilder类。

继承: SubTestCase

您必须设置以下类属性:

  • DATASET_CLASS:DatasetBuilder的类对象要测试。

你可以设置以下类属性:

  • VERSION: str 。该版本用于运行测试。例如: '1.2。*'。默认为none(经典版)。
  • BUILDER_CONFIG_NAMES_TO_TEST: list[str]应测试建设者CONFIGS名单。如果没有,一切从类BUILDER_CONFIGS将受到考验。
  • DL_EXTRACT_RESULT: dict[str]嘲笑的返回的结果download_and_extract方法。该值应该是文件中存在的路径fake_examples目录相对于该目录。如果没有指定,路径fake_examples总是被退回。
  • DL_DOWNLOAD_RESULT: dict[str]嘲笑的返回的结果download_and_extract方法。该值应该是文件中存在的路径fake_examples目录相对于该目录。如果没有指定:将使用DL_EXTRACT_RESULT(这是由于向后兼容性,并会在将来被移除)。
  • EXAMPLE_DIR: str ,在基本目录,其中假实例含有。可选的;默认为tensorflow_datasets /测试/ TEST_DATA / fake_examples /
  • OVERLAPPING_SPLITS: list[str]含有来自其它拆分实例拆分(例如,从其它分裂“例如”含有分割图片)。
  • MOCK_OUT_FORBIDDEN_OS_FUNCTIONS: bool ,默认为True。设置为false以禁用检查防止使用os或内置函数,而不是推荐tf.io.gfile API。
  • SKIP_CHECKSUMS:检查被调用的网址dl_manager.download注册。

这个测试用例将检查以下内容:

  • 该数据集生成器正确注册,即tfds.load(name)的作品;
  • 数据集构建器可以读取存储在检测假实例/ TEST_DATA / fake_examples / {dataset_name};
  • 数据集构建器可以产生串行化的数据;
  • 该数据集生成器产生由串行化的数据的有效数据集对象
    • 在渴望模式;
    • 在图形模式。
  • 所产生的数据集示例中具有预期的尺寸和类型;
  • 所产生的数据集具有与实例预期数量;
  • 一个例子是不是两个分裂,或这些分裂之一OVERLAPPING_SPLITS列入白名单的一部分。

子类

class failureException

方法

addCleanup

添加一个功能,带有参数,测试完成时调用。增加的功能被称为LIFO基础上,对测试失败或成功拆除之后被调用。

清理的项目被称为即使安装失败(不同于拆除)。

addTypeEqualityFunc

添加特定类型风格assertEqual便函数比较类型。

这种方法是通过TestCase的使用子类需要注册自己的类型相等功能,以提供更好的错误消息。

ARGS
typeobj 数据类型来调用时这两个值是相同类型的在assertEqual便关于此函数()。
function 可调用取两个参数和一个可选的MSG =论点,即提供一种有用的错误消息引发self.failureException当两个参数不相等。

assertAllClose

断言numpy的阵列或张量,两种结构具有近值。

ab可以是任意嵌套的结构。嵌套结构的层可以是dictnamedtupletuplelist

ARGS
a 预期numpy的ndarray ,或任何可以被转换成numpy的ndarray (包括张量),或任何任意嵌套的这些结构的。
b 实际numpy的ndarray ,或任何可以被转换成numpy的ndarray (包括张量),或任何任意嵌套的这些结构的。
rtol 相对宽容。
atol 绝对公差。
msg 可选的消息对故障报告。

加薪
ValueError 如果只有一个a[p]b[p]是一个字典或a[p]b[p]具有不同的长度,其中[p]表示的嵌套结构的路径,例如,给定a = [(1, 1), {'d': (6, 7)}][p] = [1]['d'] ,然后a[p] = (6, 7)

assertAllCloseAccordingToType

像assertAllClose,也适合比较FP16阵列。

特别地,所述公差减少到1E-3如果参数的至少一个是式float16的。

ARGS
a 预期numpy的ndarray或任何可以被转换成一个。
b 实际numpy的ndarray或任何可以被转换成一个。
rtol 相对宽容。
atol 绝对公差。
float_rtol 对于FLOAT32相对宽容。
float_atol 绝对容忍FLOAT32。
half_rtol 为float16相对宽容。
half_atol 绝对容忍float16。
bfloat16_rtol 对于bfloat16相对宽容。
bfloat16_atol 绝对容忍bfloat16。
msg 可选的消息对故障报告。

assertAllEqual

断言两个numpy的阵列或张量具有相同的值。

ARGS
a 预期numpy的ndarray或任何可以被转换成一个。
b 实际numpy的ndarray或任何可以被转换成一个。
msg 可选的消息对故障报告。

assertAllEqualNested

查看源代码

同assertAllEqual但嵌套字典兼容。

assertAllGreater

断言元素值均大于目标值。

ARGS
a 的numpy的ndarray ,或任何可以被转换成numpy的ndarray (包括张量)。
comparison_target 比较的目标值。

assertAllGreaterEqual

断言元素值都大于或等于目标值。

ARGS
a 的numpy的ndarray ,或任何可以被转换成numpy的ndarray (包括张量)。
comparison_target 比较的目标值。

assertAllInRange

断言张量的元素都在一个给定的范围内。

ARGS
target 的numpy的ndarray ,或任何可以被转换成numpy的ndarray (包括张量)。
lower_bound 下界的范围内的
upper_bound 上限的范围内的
open_lower_bound bool )是否下界是打开的(即,>而不是默认> =)
open_upper_bound bool )是否上界是开放的(即,<而不是默认<=)

加薪
AssertionError 如果该值张量不具有有序的数字类型(浮子*或者int *),或者如果有NaN值,或者如果任何元素不指定范围内下降。

assertAllInSet

断言张量的元素都在一个给定的闭集。

ARGS
target 的numpy的ndarray ,或任何可以被转换成numpy的ndarray (包括张量)。
expected_set listtupleset )的闭合组的值的元素target预期落入。

加薪
AssertionError 如果任何元素不落入expected_set

assertAllLess

断言元素值均小于目标值。

ARGS
a 的numpy的ndarray ,或任何可以被转换成numpy的ndarray (包括张量)。
comparison_target 比较的目标值。

assertAllLessEqual

断言元素值均小于或等于目标值。

ARGS
a 的numpy的ndarray ,或任何可以被转换成numpy的ndarray (包括张量)。
comparison_target 比较的目标值。

assertAlmostEqual

如果失败所确定由它们的差舍入为给定数量的小数位的(默认7)和与零进行比较,或通过比较该两个对象之间的差大于给定的增量在两个对象是不相等的。

注意小数位(从零)通常是不一样的显著数字(从最显著位测量)。

如果两个比较对象相等,则他们会自动对比几乎相等。

assertAlmostEquals

assertArrayNear

断言两个浮阵列彼此靠近。

检查,对farray1和farray2的所有元素| F1 - F2 | <ERR。断言测试失败如果没有。

ARGS
farray1 浮点值的列表。
farray2 浮点值的列表。
err 浮点值。
msg 可选的消息对故障报告。

assertBetween

断言值是MINV和MAXV(含)之间。

assertCommandFails

断言一个shell命令失败,该错误的正则表达式在列表中匹配。

ARGS
command 列表或字符串表示要运行的命令。
regexes 正则表达式字符串列表。
env 的环境变量设置字典。如果没有,没有环境变量将子进程来设置。这是为了让测试更具气密性。注意:这种行为是不是标准的子模块不同。
close_fds 是否要关闭所有打开的FD在孩子分叉后。
msg 可选的消息对故障报告。

assertCommandSucceeds

断言,一个外壳命令成功(与代码0,即退出)。

ARGS
command 列表或字符串表示要运行的命令。
regexes 正则表达式字节字符串相匹配的成功的名单。
env 的环境变量设置字典。如果没有,没有环境变量将子进程来设置。这是为了让测试更具气密性。注意:这种行为是不是标准的子模块不同。
close_fds 是否要关闭所有打开的FD在孩子分叉后。
msg 可选的消息对故障报告。

assertContainsExactSubsequence

断言“容器”包含“子”作为一个确切的序列。

断言“容器”包含有序“序列”,所有的内容,而穿插其他元素。例如,[1,2,3]为[,,,0 0 1 2,3,0]但不完全相同的亚序列[0,0,1,2,0,3,0]。

ARGS
container 名单我们正在测试进行后续列入。
subsequence 列表中,我们希望将容器的精确序列。
msg 可选的消息对故障报告。

assertContainsInOrder

断言提供的字符串在目标中找到秩序。

这可能是用于检查HTML输出非常有用。

ARGS
strings 字符串,如[“狐狸”,“狗”]列表
target 其中目标字符串查找字符串,如“敏捷的棕色狐狸跳过了懒狗”。
msg 可选的消息对故障报告。

assertContainsSubsequence

断言“容器”包含“子”的序列。

断言“容器”包含有序“序列”的所有元件,但可能穿插其他元素。例如,[1,2,3]为[,,,,0 0 1 2 0,3,0]但不是的亚序列[0,0,1,3,0,2,0]。

ARGS
container 名单我们正在测试进行后续列入。
subsequence 列表中,我们希望将容器的序列。
msg 可选的消息对故障报告。

assertContainsSubset

检查实际迭代是否是预期迭代的超集。

assertCountEqual

无序序列比较断言相同的元件,不论顺序。如果相同的元件中出现超过一次,则验证该元件发生相同的次数。

 self.assertEqual(Counter(list(first)),
                 Counter(list(second)))
 

例:

 - [0, 1, 1] and [1, 0, 1] compare equal.
- [0, 0, 1] and [0, 1] compare unequal.
 

assertDTypeEqual

断言ndarray数据类型等于预期。

ARGS
target 的numpy的ndarray ,或任何可以被转换成numpy的ndarray (包括张量)。
expected_dtype 预期的数据类型。

assertDeviceEqual

断言两个给定的设备是相同的。

ARGS
device1 的字符串的设备名称或TensorFlow DeviceSpec对象。
device2 的字符串的设备名称或TensorFlow DeviceSpec对象。
msg 可选的消息对故障报告。

assertDictContainsSubset

检查字典是否是子集的超集。

assertDictEqual

引发Asse田如果A和B是不相等的字典。

ARGS
a 一个字典,预期值。
b 一个字典,实际值。
msg 一个可选的STR,相关联的消息。

加薪
AssertionError 如果字典是不相等的。

assertEmpty

断言,对象具有零长度。

ARGS
container 任何实现的collections.abc.Sized接口。
msg 可选的消息对故障报告。

assertEndsWith

断言actual.endswith(expected_end)为True。

ARGS
actual 海峡
expected_end 海峡
msg 可选的消息对故障报告。

assertEqual

如果失败由“==”操作员确定两个对象是不相等的。

assertEquals

assertFalse

检查表达式为假。

assertGreater

就像self.assertTrue(A> B),但有一个更好的默认消息。

assertGreaterEqual

就像self.assertTrue(A> = B),但具有更好的默认消息。

assertIn

就像self.assertTrue(A在B),但有一个更好的默认消息。

assertIs

就像self.assertTrue(A是B),但有一个更好的默认消息。

assertIsInstance

相同self.assertTrue(isinstance(OBJ,CLS)),具有更好的默认消息。

assertIsNone

相同self.assertTrue(obj是无),具有更好的默认消息。

assertIsNot

就像self.assertTrue(一个不是B),但有一个更好的默认消息。

assertIsNotNone

为了与assertIsNone对称。

assertItemsEqual

无序序列比较断言相同的元件,不论顺序。如果相同的元件中出现超过一次,则验证该元件发生相同的次数。

 self.assertEqual(Counter(list(first)),
                 Counter(list(second)))
 

例:

 - [0, 1, 1] and [1, 0, 1] compare equal.
- [0, 0, 1] and [0, 1] compare unequal.
 

assertJsonEqual

断言,JSON对象在两个字符串定义是相等的。

的差异的摘要,将使用assertSameStructure被包括在失败消息。

ARGS
first 含有JSON来解码和字符串比较第二。
second 含JSON解码,并比较第一个字符串。
msg 附加文本包括在失败消息。

assertLen

断言,对象具有期望的长度。

ARGS
container 任何实现的collections.abc.Sized接口。
expected_len 容器的预期长度。
msg 可选的消息对故障报告。

assertLess

就像self.assertTrue(A <B),但具有更好的默认消息。

assertLessEqual

就像self.assertTrue(一<= b)中,但具有更好的默认消息。

assertListEqual

列表专用平等断言。

ARGS
list1 第一个列表比较。
list2 第二个列表进行比较。
msg 可选消息失败,而不是一个差异列表使用。

assertLogs

查看源代码

失败,除非级别或更高级别的日志消息发出的logger_name或其子女。如果省略, 电平默认为INFO和记录器默认为根记录器。

此方法必须被用作上下文管理器,并且将产生的记录对象,具有两个属性: outputrecords 。在上下文管理器结束时, output属性将是匹配格式的日志信息的列表和records属性将相应的LogRecord对象的列表。

例::

 with self.assertLogs('foo', level='INFO') as cm:
    logging.getLogger('foo').info('first message')
    logging.getLogger('foo.bar').error('second message')
self.assertEqual(cm.output, ['INFO:foo:first message',
                             'ERROR:foo.bar:second message'])
 

assertMultiLineEqual

断言两个多行字符串是相等的。

assertNDArrayNear

断言两个numpy的阵列有近值。

ARGS
ndarray1 一个numpy的ndarray。
ndarray2 一个numpy的ndarray。
err 一个浮动。最大绝对差值允许的。
msg 可选的消息对故障报告。

assertNear

断言两个浮筒彼此靠近。

将检查| F1 - F2 | <ERR并断言一个测试失败,如果没有。

ARGS
f1 一个浮点值。
f2 一个浮点值。
err 一个浮点值。
msg 一个可选字符串消息追加到失败消息。

assertNoCommonElements

检查是否实际迭代和预期迭代是不相交的。

assertNotAllClose

断言两个numpy的阵列,或者张量,没有近值。

ARGS
a 第一个值进行比较。
b 第二个值进行比较。
**kwargs 额外的关键字参数传递到底层assertAllClose电话。

加薪
AssertionError 如果ab是意外关闭的所有元素。

assertNotAllEqual

断言两个numpy的阵列或张量不具有相同的值。

ARGS
a 预期numpy的ndarray或任何可以被转换成一个。
b 实际numpy的ndarray或任何可以被转换成一个。
msg 可选的消息对故障报告。

assertNotAlmostEqual

如果失败所确定由它们的差舍入为给定数量的小数位的(默认7)和与零进行比较,或通过比较该两个对象之间的差小于所述给定增量的两个对象是相等的。

注意小数位(从零)通常是不一样的显著数字(从最显著位测量)。

这是对象自动等于失败。

assertNotAlmostEquals

assertNotEmpty

断言,对象具有非零长度。

ARGS
container 任何实现的collections.abc.Sized接口。
msg 可选的消息对故障报告。

assertNotEndsWith

断言actual.endswith(unexpected_end)为假。

ARGS
actual 海峡
unexpected_end 海峡
msg 可选的消息对故障报告。

assertNotEqual

如果失败如由“!=”操作员确定两个对象是相等的。

assertNotEquals

assertNotIn

就像self.assertTrue(一个不是在b)中,但有更好的默认消息。

assertNotIsInstance

为了与assertIsInstance对称。

assertNotRegex

未通过测试,如果文本的正则表达式匹配。

assertNotRegexpMatches

assertNotStartsWith

断言actual.startswith(unexpected_start)为假。

ARGS
actual 海峡
unexpected_start 海峡
msg 可选的消息对故障报告。

assertProtoEquals

断言消息是相同解析的expected_message_ascii。

创建消息的另一原型,读取ASCII消息到它,然后使用self._AssertProtoEqual它们进行比较()。

ARGS
expected_message_maybe_ascii 在原始或ASCII形式的原消息。
message 验证消息。
msg 可选的消息对故障报告。

assertProtoEqualsVersion

assertRaises

失败,除非类expected_exception的异常由调用时指定的位置和关键字参数调用升高。如果不同类型的异常升高时,它不会被抓住,测试用例将被视为已遭受错误,可完全作为一个意外的异常。

如果与调用和参数省略调用,将返回使用这样的上下文对象::

  with self.assertRaises(SomeException):
     do_something()
 

可以当assertRaises用作上下文对象可以提供一个可选关键字参数“MSG”。

上下文管理器保持的“例外”属性的异常的引用。这使您可以断言后检查异常:

 with self.assertRaises(SomeException) as cm:
    do_something()
the_exception = cm.exception
self.assertEqual(the_exception.error_code, 3)
 

assertRaisesOpError

assertRaisesRegex

声称,引发异常的消息正则表达式匹配。

ARGS
expected_exception Exception类有望得到提升。
expected_regex 正则表达式(re.Pattern对象或字符串)预期在错误消息中找到。
args 函数的调用和额外的位置ARGS。
kwargs 额外kwargs。
msg 在故障的情况下使用的可选消息。当assertRaisesRegex用作上下文管理器才能使用。

assertRaisesRegexp

声称,引发异常的消息正则表达式匹配。

ARGS
expected_exception Exception类有望得到提升。
expected_regex 正则表达式(re.Pattern对象或字符串)预期在错误消息中找到。
args 函数的调用和额外的位置ARGS。
kwargs 额外kwargs。
msg 在故障的情况下使用的可选消息。当assertRaisesRegex用作上下文管理器才能使用。

assertRaisesWithLiteralMatch

声称,引发异常的消息是否等于给定的字符串。

不像assertRaisesRegex,这种方法需要一个字符串,而不是一个正则表达式。

与self.assertRaisesWithLiteralMatch(ExType, '消息'):DoSomething的()

ARGS
expected_exception Exception类有望得到提升。
expected_exception_message 预计出现的异常字符串消息。对于引发异常E,expected_exception_message必须等于STR(E)。
callable_obj 要调用的函数,或无返回的上下文。
*args 额外的参数。
**kwargs 额外kwargs。

返回
上下文管理者如果callable_obj是无。否则,无。

加薪
self.failureException如果callable_obj不会引发匹配的异常。

assertRaisesWithPredicateMatch

查看源代码

返回一个上下文管理器之间的代码预计将引发异常。

如果异常是OpError,运算堆栈也被包括在该消息谓词搜索。

ARGS
exception_type 例外的期望类型应该提高。
expected_err_re_or_predicate 如果这是可调用的,它应该是检查一个参数的函数传入的异常并返回true(成功)或False(请在测试不及格)。否则,错误消息,预计部分地匹配该正则表达式。

返回
上下文经理环绕代码,预计将引发异常。

assertRegex

在测试不及格,除非文正则表达式匹配。

assertRegexMatch

断言在正则表达式至少一个正则表达式匹配海峡。

如果可能的话,你应该使用assertRegex ,这是这种方法的一个简化版本。 assertRegex接受一个正则表达式(字符串或重新编译的对象),而不是一个列表。

笔记:

  1. 该功能使用串匹配,即匹配如果错误消息的任何字符串列表中的任何正则表达式匹配成功。这对于用户而言比全字符串匹配更加方便。

  2. 如果正则表达式是空列表,匹配总是会失败。

  3. 使用正则表达式= [“”]对于一个正则表达式,将永远传递。

  4. ''匹配换行符任何单个字符。为了匹配任何字符,请使用 '(| \ n)的。'

  5. “^”各行的开头,而不仅仅是字符串的开头相匹配。同样,“$”每行的结尾匹配。

  6. 如果正则表达式包含无效的正则表达式的会抛出异常。

ARGS
actual_str 字符串,我们尝试匹配与正则表达式的项目。
regexes 正则表达式,我们要匹配的海峡。见上面这个如何解释详细的注释“注释”。
message 如果测试失败要打印的消息。

assertRegexpMatches

assertSameElements

断言两个序列具有相同的元素(以任何顺序)。

这种方法,不像assertCountEqual,不关心在预期和实际序列任何重复。

assertSameElements([1,1,1,0,0,0],[0,1])#不提高一个AssertionError

如果可能的话,你应该使用assertCountEqual代替assertSameElements。

ARGS
expected_seq 含有我们期待元件序列。
actual_seq 我们正在测试的顺序。
msg 如果测试失败要打印的消息。

assertSameStructure

断言两个值中包含了相同的结构内容。

这两个参数应该是数据树包括字典和列表的树木。他们将走进字典和列表的内容深深比较;其他项目将使用==操作符进行比较。如果这两个结构中的内容不同,则失败消息将指示所述第一差值中发现的结构内的位置。比较大的结构时,这可能会有帮助。

混合顺序和定类型的支持。混合类型映射支持,但按键的顺序不会在比较中加以考虑。

ARGS
a 第一个结构比较。
b 第二个结构比较。
aname 变量名用在断言消息的第一个结构。
bname 变量名使用第二结构。
msg 附加文本包括在失败消息。

assertSequenceAlmostEqual

近似相等断言有序序列。

失败如果通过四舍五入到给定数目的小数位的(默认7)和与零进行比较它们的值的差来确定,或者通过比较在两个序列的每个值之间的差大于给定的增量在两个序列是不相等的。

注意小数位(从零)通常是不一样的显著数字(从最显著位测量)。

如果两个序列的比较相等的,那么,他们会自动对比几乎相等。

ARGS
expected_seq 含有我们期待元件序列。
actual_seq 我们正在测试的顺序。
places 小数位的数量进行比较。
msg 如果测试失败要打印的消息。
delta 比较值之间的差额确定。

assertSequenceEqual

一个平等断言有序序列(如列表和元组)。

对于此功能的目的,有效的有序序列类型是一个可被编入索引,具有长度,并且具有相等操作。

ARGS
seq1 第一个序列进行比较。
seq2 第二序列进行比较。
seq_type 该序列的预期数据类型,或无,如果没有数据类型应该强制执行。
msg 可选消息失败,而不是一个差异列表使用。

assertSequenceStartsWith

一个平等断言有序序列的开始。

如果前缀是一个空序列,则除非整个也是空序列产生一个错误。

如果前缀是不是一个序列,它会产生一个错误,如果整体的第一个元素不匹配。

ARGS
prefix 序列预计将在整个参数的开始。
whole 其中序列寻找前缀。
msg 可选的消息对故障报告。

assertSetEqual

一组特定的平等主张。

ARGS
set1 第一组比较。
set2 第二组比较。
msg 可选消息失败,而不是一个差异列表使用。

assertSetEqual采用鸭子类型来支持不同类型的组,并针对集合特别优化(参数必须支持差分法)。

assertShapeEqual

断言一个numpy的ndarray和TensorFlow张量具有相同的形状。

ARGS
np_array 一个NumPy的ndarray或NumPy的标量。
tf_tensor 张量。
msg 可选的消息对故障报告。

加薪
TypeError 如果参数错误的类型。

assertStartsWith

断言actual.startswith(expected_start)为True。

ARGS
actual 海峡
expected_start 海峡
msg 可选的消息对故障报告。

assertTotallyOrdered

断言总订货已正确实施。

例如,假设你有一个比较只在其属性X A级。比LT其他比较器不再赘述。

A类(对象)的:def 初始化 (个体,X,Y):self.x = X self.y = Y

高清哈希 (个体经营):返回哈希(self.x)

DEF 为lt(自,其他):尝试:返回self.x <除了AttributeError的other.x:返回NotImplemented

assertTotallyOrdered将检查实例可以被正确排序。例如,

self.assertTotallyOrdered([无],#都不应该排序更早来到一切之前。[1],#整数。[A(1, 'A')],[A(2, 'B')],#2是后1 [A(3, 'c')中,A(3, 'd')],#的第二个参数是无关紧要的。[A(4, 'Z')],[ '富'])#字符串进行排序持续。

ARGS
*groups 元素组的列表。各组元素是相等的对象的列表。各组中的元素必须小于该组中的元素之后。例如,这些基团是全序:[无],[1],[2,2],[3]。 ** kwargs:可选味精关键字参数可以传递。

assertTrue

检查表达式为true。

assertTupleEqual

元组特定的平等主张。

ARGS
tuple1 第一个元组进行比较。
tuple2 第二个元组进行比较。
msg 可选消息失败,而不是一个差异列表使用。

assertUrlEqual

断言URL是相等的,忽略了查询参数的顺序。

assertWarns

失败,除非类warnClass的警告被调用时指定位置和关键字参数调用触发。如果使用不同类型的警告被触发时,它不会被处理:根据生效的其他警告过滤规则,它可能被沉默,打印出来,或凸起为异常。

如果与调用和参数省略调用,将返回使用这样的上下文对象::

  with self.assertWarns(SomeWarning):
     do_something()
 

可以当assertWarns用作上下文对象可以提供一个可选关键字参数“MSG”。

上下文管理器保持到第一匹配警告为“警告”属性的引用;同样,在“文件名”和“LINENO”属性让你从哪个警告触发的Python代码行信息。这使您可以断言后检查警告::

 with self.assertWarns(SomeWarning) as cm:
    do_something()
the_warning = cm.warning
self.assertEqual(the_warning.some_attribute, 147)
 

assertWarnsRegex

断言处于触发警告消息的正则表达式匹配。基本功能类似于assertWarns()与另外,只有警告,其消息也匹配正则表达式被认为是成功的匹配。

ARGS
expected_warning 警告类预计将被触发。
expected_regex 正则表达式(re.Pattern对象或字符串)预期在错误消息中找到。
args 函数的调用和额外的位置ARGS。
kwargs 额外kwargs。
msg 在故障的情况下使用的可选消息。当assertWarnsRegex用作上下文管理器才能使用。

assert_

cached_session

返回TensorFlow会话中执行测试使用。

此方法的行为比self.session不同():由于性能原因cached_session默认会重复使用相同的测试中相同的会话。这个函数返回会议将只在测试结束(在拆机功能)被关闭。

使用use_gpuforce_gpu其中OPS正在运行的选项来控制。如果force_gpu为True,所有OP都寄托到/device:GPU:0 。否则,如果use_gpu为True,TensorFlow试图为在GPU上尽可能多OPS运行。如果两个force_gpu and use_gpu`都是假的,所有OP都寄托到CPU。

例:

 class MyOperatorTest(test_util.TensorFlowTestCase):
  def testMyOperator(self):
    with self.cached_session(use_gpu=True) as sess:
      valid_input = [1.0, 2.0, 3.0, 4.0, 5.0]
      result = MyOperator(valid_input).eval()
      self.assertEqual(result, [1.0, 2.0, 3.0, 5.0, 8.0]
      invalid_input = [-1.0, 2.0, 7.0]
      with self.assertRaisesOpError("negative input not supported"):
        MyOperator(invalid_input).eval()
 

ARGS
graph 可选的图形返回的会话过程中使用。
config 可选config_pb2.ConfigProto用来配置会话。
use_gpu 如果真,试图尽可能多的老年退休金计划可能在GPU上运行。
force_gpu 如果为True,所有引脚到OPS /device:GPU:0

产量:

应该被用作上下文管理器会话对象以包围在测试情况下,曲线图的建筑和执行代码。

captureWritesToStream

捕获的写入给定的流上下文管理者。

这种情况管理器捕获所有写入给定的流内部CapturedWrites对象。当创建这个上下文管理器,它产生的CapturedWrites对象。所捕获的内容可以通过调用访问.contents()CapturedWrites

对于这个函数来工作,流必须具有可以使用修改的文件描述符os.dupos.dup2 ,并且流必须支持.flush()方法。默认的Python sys.stdout的和sys.stderr都是这样的例子。请注意,这并不工作Colab或Jupyter笔记本电脑,因为这些使用替代标准输出流。

例:

 class MyOperatorTest(test_util.TensorFlowTestCase):
  def testMyOperator(self):
    input = [1.0, 2.0, 3.0, 4.0, 5.0]
    with self.captureWritesToStream(sys.stdout) as captured:
      result = MyOperator(input).eval()
    self.assertStartsWith(captured.contents(), "This was printed.")
 

ARGS
stream 流,其写入应被捕获。该流必须通过使用文件描述符有一个文件描述符,支持文字,且必须有一个.flush()方法。

产量:

一个CapturedWrites对象包含所有写入此背景下提出时在指定的流。

checkedThread

返回一个主题包装,所声称的“目标”完成。

这个方法应该被用来创建测试用例的所有线程,否则是有风险的,一个线程会默默地消失,和/或线程的断言不会得到尊重。

ARGS
target 一个可调用对象在线程执行。
args 参数元组的目标调用。默认为()。
kwargs 为目标调用的参数的字典。默认为{}。

返回
一种threading.Thread包装,支持启动()和join()方法。

countTestCases

create_tempdir

创建一个临时目录特定的考验。

这将创建一个被隔离于这个测试磁盘上的一个新的目录,并通过测试进行适当清理。这避免了用于测试目的创建临时目录的几个陷阱,以及可以更容易地设置目录和验证其内容。

参见: create_tempfile()创建临时文件。

ARGS
name 该目录的可选名称。如果没有给出,将产生和使用的唯一名称。
cleanup 在当/如果在测试结束删除目录(及其所有内容)可选的清理政策。如果没有,然后使用self.tempfile_cleanup

返回
一个_TempDir代表创建的目录。

create_tempfile

创建一个临时文件中的特定的考验。

这造成对被隔离于这个测试磁盘命名的文件,并通过测试进行适当清理。这避免了用于测试目的创建临时文件的几个陷阱,以及可以更容易地安装文件,它们的数据,读他们回来,并在测试失败时对其进行检查。

参见: create_tempdir()创建临时目录,并_TempDir.create_file一个临时目录中创建的文件。

ARGS
file_path 对于临时文件可选文件的路径。如果没有给出,将产生和使用的唯一的文件名。斜线允许在名称中;任何缺少的中间目录将被创建。注:此路径是将被清理,包括路径中的任何目录,如“富/酒吧/ baz.txt”将路径rm -r foo
content 可选字符串或字节最初写入文件。如果没有指定,那么一个空文件被创建。
mode 模式字符串写入内容时使用。仅在使用content非空。
encoding 写字符串内容进行编码时使用。仅在使用时content是文本。
errors 如何处理文本编码错误字节。仅在使用时content是文本。
cleanup Optional cleanup policy on when/if to remove the directory (and all its contents) at the end of the test. If None, then uses self.tempfile_cleanup .

Returns
A _TempFile representing the created file.

debug

Run the test without collecting errors in a TestResult

defaultTestResult

doCleanups

Execute all cleanup functions. Normally called for you after tearDown.

enter_context

Returns the CM's value after registering it with the exit stack.

Entering a context pushes it onto a stack of contexts. The context is exited when the test completes. Contexts are are exited in the reverse order of entering. They will always be exited, regardless of test failure/success. The context stack is specific to the test being run.

This is useful to eliminate per-test boilerplate when context managers are used. For example, instead of decorating every test with @mock.patch , simply do self.foo = self.enter_context(mock.patch(...))' in setUp()`.

Args
manager The context manager to enter.

evaluate

Evaluates tensors and returns numpy values.

Args
tensors A Tensor or a nested list/tuple of Tensors.

Returns
tensors numpy values.

fail

Fail immediately with the given message, optionally prefixed.

failIf

failIfAlmostEqual

failIfEqual

failUnless

failUnlessAlmostEqual

failUnlessEqual

failUnlessRaises

gcs_access

View source

get_temp_dir

Returns a unique temporary directory for the test to use.

If you call this method multiple times during in a test, it will return the same folder. However, across different runs the directories will be different. This will ensure that across different runs tests will not be able to pollute each others environment. If you need multiple unique directories within a single test, you should use tempfile.mkdtemp as follows: tempfile.mkdtemp(dir=self.get_temp_dir()):

Returns
string, the path to the unique temporary directory created for this test.

id

Returns the descriptive ID of the test.

This is used internally by the unittesting framework to get a name for the test to be used in reports.

Returns
The test id.

run

session

A context manager for a TensorFlow Session for use in executing tests.

Note that this will set this session and the graph as global defaults.

Use the use_gpu and force_gpu options to control where ops are run. If force_gpu is True, all ops are pinned to /device:GPU:0 . Otherwise, if use_gpu is True, TensorFlow tries to run as many ops on the GPU as possible. If both force_gpu and use_gpu` are False, all ops are pinned to the CPU.

Example:

 class MyOperatorTest(test_util.TensorFlowTestCase):
  def testMyOperator(self):
    with self.session(use_gpu=True):
      valid_input = [1.0, 2.0, 3.0, 4.0, 5.0]
      result = MyOperator(valid_input).eval()
      self.assertEqual(result, [1.0, 2.0, 3.0, 5.0, 8.0]
      invalid_input = [-1.0, 2.0, 7.0]
      with self.assertRaisesOpError("negative input not supported"):
        MyOperator(invalid_input).eval()
 

Args
graph Optional graph to use during the returned session.
config An optional config_pb2.ConfigProto to use to configure the session.
use_gpu If True, attempt to run as many ops as possible on GPU.
force_gpu If True, pin all ops to /device:GPU:0 .

Yields:

A Session object that should be used as a context manager to surround the graph building and execution code in a test case.

setUp

View source

Hook method for setting up the test fixture before exercising it.

setUpClass

View source

Hook method for setting up class fixture before running tests in the class.

shortDescription

Formats both the test method name and the first line of its docstring.

If no docstring is given, only returns the method name.

This method overrides unittest.TestCase.shortDescription(), which only returns the first line of the docstring, obscuring the name of the test upon failure.

Returns
desc A short description of a test method.

skipTest

Skip this test.

subTest

Return a context manager that will return the enclosed block of code in a subtest identified by the optional message and keyword parameters. A failure in the subtest marks the test case as failed but resumes execution at the end of the enclosed block, allowing further test code to be executed.

tearDown

View source

Hook method for deconstructing the test fixture after testing it.

tearDownClass

Hook method for deconstructing the class fixture after running all tests in the class.

test_baseclass

View source

test_download_and_prepare_as_dataset

View source

Run the decorated test method.

test_info

View source

test_registered

View source

test_session

Use cached_session instead. (deprecated)

__call__

Call self as a function.

__eq__

Return self==value.

Class Variables

  • BUILDER_CONFIG_NAMES_TO_TEST = None
  • DATASET_CLASS = None
  • DL_DOWNLOAD_RESULT = None
  • DL_EXTRACT_RESULT = None
  • EXAMPLE_DIR = None
  • MOCK_OUT_FORBIDDEN_OS_FUNCTIONS = True
  • OVERLAPPING_SPLITS
  • SKIP_CHECKSUMS = False
  • VERSION = None
  • longMessage = True
  • maxDiff = 1600
  • tempfile_cleanup