Jad*_*ias 4 matlab unit-testing xunit
根据" 如何编写共享通用设置代码的测试 ",可以:
function test_suite = testSetupExample
initTestSuite;
function fh = setup
fh = figure;
function teardown(fh)
delete(fh);
function testColormapColumns(fh)
assertEqual(size(get(fh, 'Colormap'), 2), 3);
function testPointer(fh)
assertEqual(get(fh, 'Pointer'), 'arrow');
Run Code Online (Sandbox Code Playgroud)
但我无法使用更多参数:
function test_suite = testSetupExample
initTestSuite;
function [fh,fc] = setup
fh = figure;
fc = 2;
end
function teardown(fh,fc)
delete(fh);
function testColormapColumns(fh,fc)
assertEqual(size(get(fh, 'Colormap'), fc), 3);
function testPointer(fh,fc)
assertEqual(get(fh, 'Pointer'), 'arrow');
Run Code Online (Sandbox Code Playgroud)
当我跑步时说:
输入参数"fc"未定义.
这是为什么?我做错了什么或在当前版本的Matlab xUnit中不支持?如何规避?
PS:实际上我的MATLAB要求每个功能都有结束.我没有在这里写它们以保持与手册示例的一致性.
该框架仅使用单个输出参数调用您的setup函数.如果要从设置函数中传递更多信息,请将所有内容捆绑到结构中.
此外,这里是终止函数的规则.(这些规则是在2004年的MATLAB 7.0中引入的,从那以后没有改变.)
如果文件中的任何函数以结尾终止,则该文件中的所有函数必须以结尾终止.
嵌套函数必须始终以结尾终止.因此,如果文件包含嵌套函数,则该文件中的所有函数必须以结尾终止.
classdef文件中的所有函数和方法必须以end结尾.