主要内容

使用类写入设置和拆除代码

测试夹具

测试夹具设置和拆除代码设置系统的预测试状态,并在运行测试后将其返回到原始状态。设置和拆除方法是定义的测试箱按以下方法属性类:

  • testmethodetup.testmethodteardown.方法在每种测试方法之前和之后运行。

  • testclasssetup.testclassteardown.方法在测试用例中的所有测试方法之前和之后运行。

测试框架保证了testmethodetup.testclasssetup.超类方法在子类中的那些之前执行。

测试作者的良好做法是从内部执行所有拆除活动testmethodetup.testclasssetup.块使用这块AddTeardown.方法代替在于实施相应的拆除方法testmethodteardown.testclassteardown.块。这保证了拆解以相反的顺序执行,并且还可以确保测试内容是安全的异常。

使用方法级设置代码进行测试用例

以下测试用例,FoughPropertIestest.,包含方法级别的设置代码。当testmethodetup.方法在运行每个测试之前创建一个图形,testmethodteardown.之后关闭图。如前所述,您应该尝试使用该活动定义拆迁活动AddTeardown.方法。但是,出于说明性目的,该示例显示了实现的实现testmethodteardown.块。

Classdef.fughepropertiest 属性testfigure.结束方法(testmethodetup)功能createfigure(testcase)testcase.testfigure = figure;结束结束方法(testmethodteardown)功能特写配置(testcase)关闭(testcase.testfigure)结束结束方法(测试)功能defaultCurrentpoint(testcase)cp = testcase.testfigure.CurrentPoint;testcase.verifyequal(cp,[0 0],......'默认当前点不正确'结束功能DefaultCurrentObject(testcase)导入matlab.unittest.constraints.isuspley.co = testcase.testfigure.currentObject;testcase.verifythat(Co,Isempty,......“默认当前对象应该为空”结束结束结束

使用类级设置代码进行测试用例

以下测试用例,BankAccountTest.,包含类级别的设置代码。

设置BankAccountTest.,测试银行业类示例描述开发课程 - 典型工作流程,添加A.testclasssetup.方法,addbankaccountclasstopath.。此方法增加了路径银行业示例文件。通常,您使用a设置路径宽容。此示例为说明目的手动执行设置和拆除活动。

Classdef.bankaccounttest %测试BankAccount类方法(testclasssetup)功能addbankaccountclasstopath(testcase)p =路径;testcas.addteardown(@ path,p)addpath(fullfile(matlabroot,“帮助”'techdoc''matlab_oop'......“例子”)))结束结束方法(测试)功能testconstructor(testcase)b = bankaccount(1234,100);testcase.verifyequal(b.accountnumber,1234,......'构造函数未能正确设置帐号')testcase.verifyequal(B.AcckayBalance,100,......'构造函数无法正确设置帐户余额'结束功能testconstructornottenoughInputs(testcase)导入matlab.unittest.Constraints.Throms.testcase.verifythat(@()bankachount,......投掷('matlab:minrhs')))结束功能testdesposit(testcase)b = bankachount(1234,100);B.Deposit(25)TestCase.Verifyequal(B.AcckayBalance,125)结束功能testwithdraw(testcase)b = bankachount(1234,100);B.withdraw(25)testcase.verifyequal(b.accountbalance,75)结束功能testnotifyinsuffionfunds(testcase)callbackexecuted = false;功能testcallback(〜,〜)callbackexecuted = true;结束B = BankAccount(1234,100);b.addlistener('insufficefunds',@ testcallback);B.withdraw(50)testcase.asterfalse(CallBackexecute,......'回调不应该执行')B.withdraw(60)testcase.verifytrue(callbackexecute,......“倾听者回调应该被解雇”结束结束结束

另请参阅

|

相关主题