이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
테스트 케이스 결과 분석하기
이 예제에서는 SolverTest
테스트 케이스에서 생성된 테스트 실행기가 반환한 정보를 분석하는 방법을 보여줍니다.
2차 솔버 함수 생성하기
작업 폴더의 파일 quadraticSolver.m
에서 2차 방정식의 근을 구하는 다음과 같은 함수를 만드십시오.
type quadraticSolver.m
function roots = quadraticSolver(a,b,c) % quadraticSolver returns solutions to the % quadratic equation a*x^2 + b*x + c = 0. if ~isa(a,'numeric') || ~isa(b,'numeric') || ~isa(c,'numeric') error('quadraticSolver:InputMustBeNumeric', ... 'Coefficients must be numeric.'); end roots(1) = (-b + sqrt(b^2 - 4*a*c)) / (2*a); roots(2) = (-b - sqrt(b^2 - 4*a*c)) / (2*a); end
2차 솔버 함수에 대한 테스트 생성하기
작업 폴더의 파일 SolverTest.m
에 다음 테스트 클래스를 만듭니다.
type SolverTest.m
classdef SolverTest < matlab.unittest.TestCase methods(Test) function realSolution(testCase) actSolution = quadraticSolver(1,-3,2); expSolution = [2,1]; testCase.verifyEqual(actSolution,expSolution) end function imaginarySolution(testCase) actSolution = quadraticSolver(1,2,10); expSolution = [-1+3i, -1-3i]; testCase.verifyEqual(actSolution,expSolution) end function nonnumericInput(testCase) testCase.verifyError(@()quadraticSolver(1,'-3',2), ... 'quadraticSolver:InputMustBeNumeric') end end end
SolverTest
테스트 케이스 실행하기
테스트 스위트 quadTests
를 만드십시오.
quadTests = matlab.unittest.TestSuite.fromClass(?SolverTest); result = run(quadTests);
Running SolverTest ... Done SolverTest __________
모든 테스트를 통과했습니다.
출력 인수 result
탐색하기
출력 인수 result
는 matlab.unittest.TestResult
객체입니다. 여기에는 SolverTest
에 있는 두 개의 테스트에 대한 정보가 포함됩니다.
whos result
Name Size Bytes Class Attributes result 1x3 7613 matlab.unittest.TestResult
하나의 테스트에 대한 정보 표시하기
하나의 값에 대한 정보를 보려면 다음을 입력하십시오.
result(1)
ans = TestResult with properties: Name: 'SolverTest/realSolution' Passed: 1 Failed: 0 Incomplete: 0 Duration: 0.0065 Details: [1×1 struct] Totals: 1 Passed, 0 Failed, 0 Incomplete. 0.0065241 seconds testing time.
테스트 결과를 테이블로 생성하기
테이블에서 사용할 수 있는 기능에 액세스하려면 TestResult
객체에서 테이블을 만드십시오.
rt = table(result)
rt=3×6 table
Name Passed Failed Incomplete Duration Details
________________________________ ______ ______ __________ _________ ____________
{'SolverTest/realSolution' } true false false 0.0065241 {1×1 struct}
{'SolverTest/imaginarySolution'} true false false 0.0036673 {1×1 struct}
{'SolverTest/nonnumericInput' } true false false 0.0074686 {1×1 struct}
기간을 기준으로 테스트 결과를 정렬하십시오.
sortrows(rt,'Duration')
ans=3×6 table
Name Passed Failed Incomplete Duration Details
________________________________ ______ ______ __________ _________ ____________
{'SolverTest/imaginarySolution'} true false false 0.0036673 {1×1 struct}
{'SolverTest/realSolution' } true false false 0.0065241 {1×1 struct}
{'SolverTest/nonnumericInput' } true false false 0.0074686 {1×1 struct}
테스트 결과를 CSV 파일로 내보내십시오.
writetable(rt,
'myTestResults.csv'
,
'QuoteStrings'
,true)