使用负载测试方法使测试通过

8视图(30天)
埃里克·Oene
埃里克·Oene 2019年10月15日
回答: 安迪•坎贝尔 2019年10月21日
以下测试通过!这是为什么呢?
classdefminExample < matlab.unittest.TestCase
属性
结束
方法(测试)
函数test1 (testCase)
%的评论
保存matlab
负载matlab
verifyEqual (testCase, 1 2);
结束
结束
结束
1评论
埃里克·Oene
埃里克·Oene 2019年10月16日
运行它使用:
测试= minExample
test.run
我得到的结果是:
ans =
TestResult属性:
名称:“minExample / test1”
通过:1
失败:0
不完整:0
持续时间:0.1692
总数:
1通过,失败了,0不完整。
0.1692秒测试时间。

登录置评。

答案(2)

安迪•坎贝尔
安迪•坎贝尔 2019年10月21日
你好埃里克,
这里的问题是事实上的testCase覆盖。因此为什么如果你分配load命令的输出结构遇到的问题不是。这些步骤类似于像下面这样:
classdefSomethingNotATestCase
方法
函数verifyEqual (obj,变长度输入宗量)
%做其他的事情
结束
结束
结束
然后在测试,做这样的:
classdefminExample < matlab.unittest.TestCase
方法(测试)
函数test1 (testCase)
testCase = SomethingNotATestCase
verifyEqual (testCase, 1 2);
结束
结束
结束
在这两种情况下,你覆盖了testCase一些不正确的事情产生一个测试失败。这是完全允许的语言。这是部分原因,建议使用load命令的函数形式,包括与输出参数,因为当你不使用输出参数“噗”变量到工作区中,这可以覆盖现有的变量。如果你将它分配给一个输出参数,那么您显式命名变量,而且不太可能覆盖另一个变量在不知情的情况下。
希望会有帮助!
安迪

每•艾萨克森
每•艾萨克森 2019年10月18日
看起来像一个错误对我来说,但是在程序应该使用的函数形式
S =负载(“matlab.mat”);
在这种情况下,测试失败。
3评论
每•艾萨克森
每•艾萨克森 2019年10月18日
也许这是你感兴趣的 通常对象副本
你联系Mathworks的技术支持?金宝app

登录置评。

类别

找到更多的在基于类的单元测试帮助中心文件交换

下载188bet金宝搏


释放

R2013b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!