主要内容

使用活动脚本编写测试

这个例子展示了如何测试一个函数,这个函数是通过编写一个实时脚本创建的,“TestRightTriLiveScriptExample.mlx”.示例函数计算直角三角形的角度,您可以创建一个基于活动脚本的单元测试来测试该函数。

基于实时脚本的测试必须遵守以下约定:

  • 测试文件的名称必须以“test”开头或结尾,不区分大小写。如果文件名不是以“test”开头或结尾,在某些情况下,文件中的测试可能会被忽略。

  • 将每个单元测试放在活动脚本文件的单独部分中。如果一个部分在heading 1样式中有一个标题,则该标题将成为测试元素的名称。否则,MATLAB会给测试分配一个名称。

  • 考虑如何运行基于实时脚本的测试。如果您使用运行按钮在实时编辑器和MATLAB中遇到测试失败,然后它停止执行脚本,不运行任何剩余的测试。如果您使用单元测试框架运行活动脚本,例如使用runtests函数,然后如果MATLAB遇到测试失败,它仍然运行其余的测试。

  • 当一个活动脚本作为测试运行时,在一个测试中定义的变量不能在其他测试中访问。类似地,测试无法访问在其他工作空间中定义的变量。

在这个例子之外,在当前的MATLAB文件夹中,在一个文件中创建一个函数,rightTri.m.这个函数以三角形的两条边的长度作为输入,并返回相应的直角三角形的三个角。输入边是三角形的两条短边,而不是斜边。

类型rightTri.m
if (A = atand(sides(1)/sides(2)));B = atand(边(2)/(1)两侧);斜边=边(1)/信德(一个);C = asind(斜边*信德(A) /(1)两侧);[A B C];结束

测试:小角度近似

您可以在活动脚本中包含等式和图像,以帮助记录测试。为小角度近似值创建以下测试。通常,在比较浮点值时,要指定比较的公差。

rightTri函数应返回与小角度近似一致的值,以便 θ θ

角度= rightTri([1 1500]);smallAngleInRadians角=(π/ 180)* (1);%转换为弧度约=罪(smallAngleInRadians);断言(abs (approx-smallAngleInRadians) < = 1平台以及,“小角度近似问题”

测试:角度之和

k 一个 k 1 8 0

你可以有多个断言同一个测试中的陈述。但是,如果第一个断言失败,MATLAB不会计算其余语句。

得到的直角三角形的所有角的和应该总是180度。

角度= rightTri([7 9]);assert(sum(angles) == 180) angles = rightTri([4 4]);assert(sum(angles) == 180) angles = rightTri([2 2*√(3)]);断言(和(角)= = 180)

三角形测试:30-60-90

测试三角形的边减少到1和 3. .这种情况下,角是 3. 0 , 6 0 , 9 0

托尔= 1平台以及;角度= rightTri([2 2*根号(3)]);Assert (abs(角度(1)-30)<= tol)

测试:等腰三角形

对于等腰三角形,两个非直角都必须是45度;否则断言抛出一个错误。

检验三角形的两边是否相等。这种情况下,同位角是相等的。

角度= rightTri([4 4]);Assert(角度(1)== 45)

要运行测试,最佳实践是通过runtests函数而不是运行按钮。测试框架提供了额外的诊断信息。在测试失败的情况下,框架运行后续的测试,但是运行按钮则不能。例如,要在MATLAB命令提示符下运行这个测试,输入结果= runtests(“TestRightTriLiveScriptExample”).有关更多信息,请参见runtests

另请参阅

|

相关的话题