MATLAB Class-based unit tests: How to pass in variable containing data to test
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I'm not sure how to pass in variables when executing a unit test. These variables were created from another function not placed within the unit test.
*Method 1:*
classdef myTest < matlab.unittest.TestCase
properties
A, B, C
end
methods (Test)
function testDataCoverage(testCase)
expSol = afunction(A, B, C)
actSol = 10
testCase.verifyEqual(testCase, actSol, expSol)
end
end
end
I next tried to place the variable-creating function (getData) within the unit test but encountered this error:
Concrete class myTest does not define a TestParameter property named BNew for the dataCoverage method. Either implement the property or define the class as Abstract.
*Method 2:*
classdef myTest < matlab.unittest.TestCase
properties
end
methods (Test)
function testDataCoverage(testCase)
[A, B, C] = getData()
expSol = afunction(A, B, C)
actSol = 10
testCase.verifyEqual(testCase, actSol, expSol)
end
function [A, B, C] = getData()
...code here...
end
function Sol = afunction(A, BNew, C)
...code here...
end
end
end
0 Commenti
Risposte (1)
Jeff Miller
il 14 Ago 2018
Try putting getData and afunction in a separate "methods" section--note, plain "methods", without "(Test)"--that is placed before your "methods (Test)" section
0 Commenti
Vedere anche
Categorie
Scopri di più su Testing Frameworks in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!