MATLAB Answers

How to use constant property when defining TestParameter in unittest.

5 views (last 30 days)
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.

Accepted Answer

David Hruska
David Hruska on 26 May 2016
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

Lukas Lacinak
Lukas Lacinak on 26 May 2016
Thanks, that was very helpful, since none of the workarounds I tried worked ;-).

Sign in to comment.

More Answers (0)

Sign in to answer this question.