title: a UnitTest that passed in Matlab 2016B fails in Mablab 2017A-pre-release: TestParameter not defined
body: <p>I have a unit test class heyrarchy:</p>
  
  <pre><code>classdef TFbe &lt;  ITAlgo % concrete class
  classdef  ( Abstract ) ITAlgo &lt; matlab.unittest.TestCase % abstract class
  </code></pre>
  
  <p>in ITAlgo, i implemented a function that supplies a common service:</p>
  
  <pre><code>function do_run_time( testCase, args, num_of_iterations )
  </code></pre>
  
  <p>and an abstract test function:</p>
  
  <pre><code>run_time ( testCase ) ;
  </code></pre>
  
  <p>the abstract function is implemented in CFbe, and this implementation calls do_run_time.
  This works well, and the test passes, in Matlab 2016B (Windows 7, 64 bit version).
  now, i downloaded the new Matlab 2017A-pre-release (Windows 7, 64 bit version), and it fails.</p>
  
  <p>i get the folowing error (orange font):</p>
  
  <blockquote>
    <p>Warning: Concrete class TFbe does not define a TestParameter property
    named args for the do_run_time method. Either implement the property
    or define the class as Abstract. This warning will become an error in
    a future release. 
    Warning: Concrete class TFbe does not define a
    TestParameter property named num_of_iterations for the do_run_time
    method. Either implement the property or define the class as Abstract.
    This warning will become an error in a future release.</p>
  </blockquote>
  
  <p>then I get the error message (red font):</p>
  
  <blockquote>
    <p>Error using
    matlab.unittest.internal.parameters.validateParametersExistForInputArguments>validateParameters
    (line 18) Concrete class TFbe does not define a TestParameter property
    named args for the do_run_time method. Either implement the property
    or define the class as Abstract.</p>
    
    <p>Error in
    matlab.unittest.internal.parameters.validateParametersExistForInputArguments
    (line 5) validateParameters(testClass, 'Test', 'TestParameter');</p>
    
    <p>Error in matlab.unittest.Test.fromTestCase (line 268)
                validateParametersExistForInputArguments(testClass);</p>
    
    <p>Error in matlab.unittest.internal.RunnableTestContent/run (line 51)
                suite = Test.fromTestCase(testCase, varargin{:});</p>
  </blockquote>
  
  <hr>
  
  <p>what changed from version 2016B?</p>
  
  <p>what are TestParameter property named args? (<a href="https://www.mathworks.com/help/matlab/ref/matlab.unittest.parameters.testparameter-class.html" rel="nofollow noreferrer">here</a> thay are described as "Specification of Test Parameter
  " - what's that?)</p>
  
  <p>what do i need to change for my test to run in version 2017A-pre-release?</p>
  
  <p>thanks,
  Oded</p>