主要内容

创建基本自定义夹具

这个例子展示了如何创建一个基本的自定义fixture来将显示格式更改为十六进制表示。该示例还展示了如何使用fixture测试将一列数字显示为文本的函数。测试完成后,框架将显示格式恢复到测试前的状态。

创建FormatHexFixture类定义

在工作文件夹中的一个文件中,创建一个新类,FormatHexFixture这是从matlab.unittest.fixtures.Fixture类。由于我们希望夹具恢复到MATLAB的预测试状态®显示格式,创建OriginalFormat属性以跟踪原始显示格式。

classdefFormatHexFixture < matlab.unittest.fixtures.Fixture属性(Access = private结束结束

实现安装和拆卸方法

子类的夹具类必须实现设置方法。使用此方法记录预测试显示格式,并设置格式为十六进制的.使用拆卸方法以恢复原始的显示格式。定义设置拆卸方法方法块的FormatHexFixture类。

classdefFormatHexFixture < matlab.unittest.fixtures.Fixture属性(Access = private结束方法函数设置(夹具)的夹具。OriginalFormat = get (0,“格式”);集(0,“格式”十六进制的结束函数拆卸(夹具)组(0,“格式”fixture.OriginalFormat)结束结束结束

应用定制夹具

在工作文件夹中的一个文件中,创建以下测试类,SampleTest.m

classdefSampleTest < matlab.unittest.TestCase方法(测试)函数test1(testCase) testCase. applyfixture (FormatHexFixture) actStr = getColumnForDisplay([1;2;3]),“小整数”);expStr = [“小整数”' 3 ff0000000000000 '“4000000000000000”“4008000000000000”];testCase.verifyEqual (actStr expStr)结束结束结束函数str = getColumnForDisplay(values,title) elements = cell(numel(values)+1,1); / /显示单元格元素{1}=标题;idx = 1:numel(values) elements{idx+1} = displayNumber(values(idx));结束str = char(元素);结束函数str = displayNumber(n) str = strtrim(“disp (n),“));结束

此测试应用自定义fixture并验证显示的十六进制表示列是否如预期的那样。

在命令提示符下运行测试。

运行(SampleTest);
SampleTest运行。完成SampleTest  __________

另请参阅

相关的话题