MATLAB Answers

0

How to use constant property when defining TestParameter in unittest.

Asked by Lukas Lacinak on 26 May 2016
Latest activity Commented on by Lukas Lacinak on 26 May 2016
A constant class property can be used when defining a content of other class properties (e.g. testConstant1 below).
But when this other property is in the TestParameter property block (e.g. testConstant2) matlab complains that 'The class UnitTestConstantInTestParams has no Constant property or Static method named 'CONST_VALUE''.
classdef UnitTestConstantInTestParams < matlab.unittest.TestCase
properties
testConstant1 = num2cell(1:UnitTestConstantInTestParams.CONST_VALUE);
end
properties (Constant)
CONST_VALUE = 5;
end
properties (TestParameter)
% testConstant2 = num2cell(1:5);
testConstant2 = num2cell(1:UnitTestConstantInTestParams.CONST_VALUE);
end
methods (Test)
function testConstValues1(testCase)
for value = testCase.testConstant1
end
end
function testConstValues2(testCase, testConstant2)
end
end
end
Is this a known and desired behavior?
Tested in 8.6.0.267246 (R2015b).

  0 Comments

Sign in to comment.

1 Answer

Answer by David Hruska on 26 May 2016
 Accepted Answer

This is a bug:
https://www.mathworks.com/support/bugreports/1212962
The bug report mentions Static methods but the same issue applies to Constant properties.

  1 Comment

Thanks, that was very helpful, since none of the workarounds I tried worked ;-).

Sign in to comment.