TestObject

TestObject[]

给出一个表示 TestCreate 结果的对象.

更多信息

  • TestObject 通常作为 TestCreate 的结果获得.
  • TestObject[]["prop"] 返回给定 TestObject"prop" 值.
  • TestObject[][{"prop1","prop2",}] 返回对应于多个属性的值的关联.
  • TestObject[]["Properties"] 返回所有可用属性的列表.
  • TestObject 的可能属性包括:
  • "AbsoluteTime"测试创建的绝对时间,以 UTC 时区表示
    "AbsoluteTimeUsed"已经过去的实时绝对秒数
    "ActualMessages"运算输入时生成的消息
    "ActualOutput"运算输入时生成的输出
    "CPUTimeUsed"用于运算输入的 CPU 时间
    "Created"创建时间的 DateObject,时区为 $TimeZone
    "ExpectedMessages"传递给测试的消息
    "ExpectedOutput"运算后的预期输出
    "Input"原始测试输入
    "MemoryConstraint"原始 MemoryConstraint
    "MemoryUsed"用于存储所有数据的字节数
    "Outcome"运行 TestCreate 的结果
    "SameTest"原始 SameTest 函数
    "TestFileName"当前执行的测试文件的绝对文件名
    "TestID"测试的唯一标识符
    "TestKey"对每次测试都唯一的自动密钥
    "TimeConstraint"原始 TimeConstraint
    "TestCreate"原始 TestCreate 表达式
    "VerificationTest"原始 VerificationTest 表达式
  • "Outcome" 属性可能的值包括:
  • "Success"测试成功通过
    "MessageFailure"测试失败,在运算过程中发出一条消息
    "Failure"测试没有成功通过
    "NotEvaluated"测试未被计算
  • "FailureType" 属性可能的值包括:
  • "SameTestFailure"实际输出与预期输出不相符
    "SameMessagesFailure"发出了没有预料到的消息
    "SameTestUnevaluated"SameTest 函数没有返回 TrueFalse
    "TimeConstraintFailure"超出了 TimeConstraint 选项的设置
    "MemoryConstraintFailure"超出了 MemoryConstraint 选项的设置
    "TimeConstraintInvalid"TimeConstraint 选项无效
    "MemoryConstraintInvalid"超出了 MemoryConstraint 选项的设置
    "EvaluationAbortedFailure"Abort 终止了计算
    "UncaughtThrowFailure"Throw 终止了计算
    "IntermediateTestFailure"IntermediateTest 失败
    "IntermediateTestMessagesFailure"IntermediateTest 发出了没有预料到的消息

范例

打开所有单元关闭所有单元

基本范例  (2)

运行 TestCreate 以得到 TestObject

使用 TestEvaluate 运行测试:

提取原始输入:

提取原始输入并使用 ReleaseHold 再次运行测试:

范围  (1)

所有属性的列表:

一次提取多个属性:

提取所有属性并在 Dataset 中显示结果:

应用  (1)

运算测试:

使用 "TestCreate" 属性来重新创建原始测试表达式:

使用 ReleaseHold 再次创建一个新的测试:

属性和关系  (34)

属性  (34)

"AbsoluteTime"  (1)

创建一个测试:

"AbsoluteTime" 提取测试创建的 UTC 时间:

FromAbsoluteTimeDateObject 中的值进行转换:

"Created" 属性获取你所在时区的 DateObject

"AbsoluteTimeUsed"  (1)

运行一个测试:

"AbsoluteTimeUsed" 提取实际已经过去的绝对秒数:

如果 TestObject 从未被运行过,则返回 Missing

"ActualMessages"  (1)

运行一个发出一条消息的测试:

"ActualMessages" 提取测运行估期间发出的所有消息:

表达式被封装在 HoldForm 中:

如果 TestObject 从未被运行过,则返回 Missing

"ActualOutput"  (1)

运行一个测试:

"ActualOutput" 提取输入表达式的结果:

表达式被封装在 HoldForm 中:

如果 TestObject 从未被运行过,则返回 Missing

"CPUTimeUsed"  (1)

运行一个测试:

"CPUTimeUsed" 提取计算输入花费的 CPU 时间:

如果 TestObject 从未被运行过,则返回 Missing

"Created"  (1)

创建一个测试:

"Created" 提取以 DateObject 给出的创建日期:

"ExpectedMessages"  (1)

创建一个测试:

"ExpectedMessages" 提取输入运行期间应发出的所有消息:

表达式被封装在 HoldForm 中:

"ExpectedOutput"  (1)

创建一个测试:

"ExpectedOutput" 提取预期的结果:

表达式被封装在 HoldForm 中:

"FailureType"  (11)

运行测试:

"FailureType" 提取测试的失败代码:

创建一个测试,其中,SameTest 函数没有返回 TrueFalse

失败类型为 "SameTestUnevaluated"

创建一个测试,其中,TimeConstraint 的值将被超出:

失败类型为 "TimeConstrainedFailure"

创建一个测试,其中,TimeConstraint 值无效:

失败类型为 "TimeConstrainedInvalid"

创建一个测试,其中,MemoryConstraint 的值将被超出:

失败类型为 "MemoryConstrainedFailure"

创建一个测试,其中,MemoryConstraint 值无效:

失败类型为 "MemoryConstrainedInvalid"

创建一个测试,其中发生 Abort[]

失败类型为 "AbortFailure"

创建一个测试,其中发生 Throw[]

失败类型为 "UncaughtThrowFailure"

创建一个测试,其中 IntermediateTest 失败:

失败类型为 "IntermediateTestFailure"

创建一个测试,其中 IntermediateTest 失败,并发出一条没有预料到的消息:

失败类型为 "IntermediateTestMessagesFailure"

测试成功时,返回的失败类型的值为 None

"Input"  (1)

创建一个测试:

"Input" 提取原始输入表达式:

表达式被封装在 HoldForm 中:

"MemoryConstraint"  (1)

创建一个使用 MemoryConstraint 选项的测试:

"MemoryConstraint" 提取选项原来的值:

"MemoryUsed"  (1)

运行一个测试:

"MemoryUsed" 提取输入运行期间使用的内存:

"MetaInformation"  (1)

创建一个测试:

"MetaInformation" 提取测试的元信息:

"Outcome"  (1)

运行一个测试:

"Outcome" 提取测试的结果:

如果 "ActualOutput""ExpectedOutput" 不相符,测试会给出 "Failure" 结果:

如果测试运行成功,但是没有发出指定的 "ExpectedMessages" 列表,测试会给出 "MessagesFailure" 结果:

如果 SameTest 函数没有返回 True,则检验将会失败:

"SameTest"  (1)

创建一个测试:

"SameTest" 提取选项原来的值:

"TestFileName"  (1)

运行文件或笔记本中的整套测试:

提取第一个 TestObject

"TestFileName" 提取测试文件的名称:

"TestID"  (4)

创建一个测试:

"TestID" 提取选项原来的值:

TestID 可用是任意表达式:

默认情况下,TestID 是测试的 Hash

如果 TestCreate 的输入发生改变,TestID 也会改变:

CreateUUID 每次创建随机标识符:

"TestKey"  (1)

创建一个测试:

"TestKey" 提取运行测试的全局唯一标识符:

"TestKey" 在测试运行后会发生改变:

"TimeConstraint"  (1)

创建一个测试:

"TimeConstraint" 提取选项原来的值:

"TestCreate"  (1)

创建一个测试:

"TestCreate" 根据测试对象创建一个 TestCreate 表达式:

表达式被封装在 HoldForm 中:

"VerificationTest"  (1)

创建一个测试:

"VerificationTest" 根据对象创建一个 VerificationTest 表达式:

表达式被封装在 HoldForm 中:

Wolfram Research (2023),TestObject,Wolfram 语言函数,https://reference.wolfram.com/language/ref/TestObject.html.

文本

Wolfram Research (2023),TestObject,Wolfram 语言函数,https://reference.wolfram.com/language/ref/TestObject.html.

CMS

Wolfram 语言. 2023. "TestObject." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/TestObject.html.

APA

Wolfram 语言. (2023). TestObject. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/TestObject.html 年

BibTeX

@misc{reference.wolfram_2024_testobject, author="Wolfram Research", title="{TestObject}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/TestObject.html}", note=[Accessed: 05-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_testobject, organization={Wolfram Research}, title={TestObject}, year={2023}, url={https://reference.wolfram.com/language/ref/TestObject.html}, note=[Accessed: 05-November-2024 ]}