Запустите набор тестов
results = runtests
results = runtests(tests)
results = runtests(tests,Name,Value)
results = runtests
запускает все тесты в вашей текущей папке и возвращает результаты как объект TestResult
.
запускает заданный набор тестов.results = runtests(tests)
запускает набор тестов с дополнительными опциями, заданными одним или несколькими аргументами пары results = runtests(tests,Name,Value)
Name,Value
.
Создайте папку myExample
в своей текущей рабочей папке и изменение в ту папку.
В папке myExample
создайте тестовый скрипт, typeTest.m
m.
%% Test double class exp = 'double'; act = ones; assert(isa(act,exp)) %% Test single class exp = 'single'; act = ones('single'); assert(isa(act,exp)) %% Test uint16 class exp = 'uint16'; act = ones('uint16'); assert(isa(act,exp))
В папке myExample
создайте тестовый скрипт, sizeValueTest.m
m.
%% Test size exp = [7 13]; act = ones([7 13]); assert(isequal(size(act),exp)) %% Test values act = ones(42); assert(unique(act) == 1)
Запустите все тесты в текущей папке.
runtests
Running sizeValueTest .. Done sizeValueTest __________ Running typeTest ... Done typeTest __________ ans = 1x5 TestResult array with properties: Name Passed Failed Incomplete Duration Details Totals: 5 Passed, 0 Failed, 0 Incomplete. 0.038077 seconds testing time.
MATLAB® запустил 5 тестов. Существует 2 проходящих теста от sizeValueTest
и 3 проходящих теста от typeTest
.
Создайте тестовый файл, показанный ниже, и сохраните его как runtestsExampleTest.m
на вашем пути MATLAB.
function tests = runtestsExampleTest tests = functiontests(localfunctions); function testFunctionOne(testCase)
Запущение тестов.
results = runtests('runtestsExampleTest.m');
Running runtestsExampleTest . Done runtestsExampleTest __________
Если это не существует, создайте тестовый файл, runtestsExampleTest.m
, в примере выше.
Создайте подпапку, tmpTest
, и, в той папке, создайте следующий файл runtestsExampleSubFolderTest.m
.
function tests = runtestsExampleSubFolderTest tests = functiontests(localfunctions); function testFunctionTwo(testCase)
Запустите тесты от папки выше tmpTest
установкой 'IncludeSubfolders'
к истине.
results = runtests(pwd,'IncludeSubfolders',true);
Running runtestsExampleTest . Done runtestsExampleTest __________ Running runtestsExampleSubFolderTest . Done runtestsExampleSubFolderTest __________
runtests
запустил тесты и в текущей папке и в подпапке.
Если вы не задаете свойство 'IncludeSubfolders'
для функции runtests
, оно не запускает тест в подпапке.
results = runtests(pwd);
Running runtestsExampleTest . Done runtestsExampleTest __________
Создайте следующий тестовый файл и сохраните его как runInParallelTest.m
на вашем пути MATLAB®.
function tests = runInParallelTest tests = functiontests(localfunctions); function testA(testCase) verifyEqual(testCase,5,5); function testB(testCase) verifyTrue(testCase,logical(1)); function testC(testCase) verifySubstring(testCase,'SomeLongText','Long'); function testD(testCase) verifySize(testCase,ones(2,5,3),[2 5 3]); function testE(testCase) verifyGreaterThan(testCase,3,2); function testF(testCase) verifyEmpty(testCase,{},'Cell array is not empty.'); function testG(testCase) verifyMatches(testCase,'Some Text','Some [Tt]ext');
Запустите тесты параллельно. Запущение тестов параллельно требует Параллельных вычислений Toolbox™. Среда тестирования может отличаться порядок и количество групп или который тестирует его, включает в каждую группу.
results = runtests('runInParallelTest','UseParallel',true);
Split tests into 7 groups and running them on 4 workers. ---------------- Finished Group 2 ---------------- Running runInParallelTest . Done runInParallelTest __________ ---------------- Finished Group 3 ---------------- Running runInParallelTest . Done runInParallelTest __________ ---------------- Finished Group 1 ---------------- Running runInParallelTest . Done runInParallelTest __________ ---------------- Finished Group 4 ---------------- Running runInParallelTest . Done runInParallelTest __________ ---------------- Finished Group 6 ---------------- Running runInParallelTest . Done runInParallelTest __________ ---------------- Finished Group 5 ---------------- Running runInParallelTest . Done runInParallelTest __________ ---------------- Finished Group 7 ---------------- Running runInParallelTest . Done runInParallelTest __________
В вашей рабочей папке создайте testZeros.m
m. Этот класс содержит четыре метода тестирования.
classdef testZeros < matlab.unittest.TestCase properties (TestParameter) type = {'single','double','uint16'}; outSize = struct('s2d',[3 3], 's3d',[2 5 4]); end methods (Test) function testClass(testCase, type, outSize) testCase.verifyClass(zeros(outSize,type), type); end function testSize(testCase, outSize) testCase.verifySize(zeros(outSize), outSize); end function testDefaultClass(testCase) testCase.verifyClass(zeros, 'double'); end function testDefaultSize(testCase) testCase.verifySize(zeros, [1 1]); end function testDefaultValue(testCase) testCase.verifyEqual(zeros,0); end end end
Полный тестовый набор имеет 11 тестовых элементов: 6 из метода testClass
, 2 из метода testSize
, и 1 каждый от testDefaultClass
, testDefaultSize
и методов testDefaultValue
.
В командной строке запустите всю параметризацию для метода testSize
.
runtests('testZeros/testSize')
Running testZeros .. Done testZeros __________ ans = 1x2 TestResult array with properties: Name Passed Failed Incomplete Duration Details Totals: 2 Passed, 0 Failed, 0 Incomplete. 0.048715 seconds testing time.
Функция runtests
выполнила два параметризованных теста из метода testSize
. Также можно задать имя процедуры тестирования с runtests('testZeros','ProcedureName','testSize')
.
Запустите тестовые элементы, которые используют свойство параметра outSize
.
runtests('testZeros','ParameterProperty','outSize')
Running testZeros ........ Done testZeros __________ ans = 1x8 TestResult array with properties: Name Passed Failed Incomplete Duration Details Totals: 8 Passed, 0 Failed, 0 Incomplete. 0.066214 seconds testing time.
Функция runtests
выполнила восемь тестов, которые используют свойство параметра outSize
: шесть из метода testClass
и два из метода testSize
.
Запустите тестовые элементы, которые используют название параметра single
.
runtests('testZeros','ParameterName','single')
Running testZeros .. Done testZeros __________ ans = 1x2 TestResult array with properties: Name Passed Failed Incomplete Duration Details Totals: 2 Passed, 0 Failed, 0 Incomplete. 0.008713 seconds testing time.
Функция runtests
выполнила два теста из метода testClass
, которые используют название параметра outSize
.
tests
— Массив тестовКомплект тестов, заданных как вектор символа или массив ячеек из символьных векторов. Каждый вектор символа в массиве ячеек может содержать имя тестового файла, тестового класса, имени элемента тестового набора, пакет, содержащий ваши тестовые классы или папку, содержащую ваши тестовые файлы.
Пример: runtests ('ATestFile. m
Пример: runtests ('ATestFile/aTest')
Пример: runtests ('mypackage. MyTestClass)
Пример: runtests (pwd)
Пример: runtests ({'mypackage. MyTestClass','ATestFile.m', pwd, 'mypackage.subpackage'})
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Имя
должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
runtests (тесты, 'Имя', 'productA_ *')
запускает тестовые элементы с именем, которое запускается с 'productA _'
.'BaseFolder'
Имя основной папкиИмя основной папки, которая содержит файл, задающий тестовый класс, функцию или скрипт, заданный как вектор символа. This argument filters TestSuite array elements.
Для тестового элемента, который будет включен в комплект, тестовый элемент должен содержаться в заданной основной папке. Use the wildcard character * to match any number of characters.
Use the question mark character ?
, чтобы совпадать с отдельным символом. Для тестовых файлов, заданных в пакетах, основная папка является родительским элементом папки пакета верхнего уровня.
'Debug'
— Индикатор, чтобы применить возможности отладкиfalse
(значение по умолчанию) | true
| 0
| 1
Индикатор, чтобы применить возможности отладки при выполнении tests
, заданного как false
или true
(0
или 1
). Например, если с непройденным тестом сталкиваются, среда приостанавливает выполнение теста, чтобы ввести режим отладки.
Типы данных: логический
'IncludeSubfolders'
Индикатор, чтобы запустить тесты в подпапкахfalse
(значение по умолчанию) | true
| 0
| 1
Индикатор, чтобы запустить тесты в подпапках, заданных как false
или true
(0
или 1
). По умолчанию среда запускает тесты в заданных папках, но не в их подпапках.
Типы данных: логический
'IncludeSubpackages'
Индикатор, чтобы запустить тесты в подпакетахfalse
(значение по умолчанию) | true
| 0
| 1
Индикатор, чтобы запустить тесты в подпакетах, заданных как false
или true
(0
или 1
). По умолчанию среда запускает тесты в заданных пакетах, но не в их подпакетах.
Типы данных: логический
'LoggingLevel'
— Максимальный уровень многословия для регистрируемой диагностикиmatlab.unittest.Verbosity
Перечисление многословияМаксимальный уровень многословия для регистрируемой диагностики, включенной для тестового прогона, заданного как целочисленное значение от 0 до 4, или как объект перечисления matlab.unittest.Verbosity
. Функция runtests
включает диагностику, которая регистрируется на этом уровне и ниже. Целочисленные значения соответствуют членам matlab.unittest.Verbosity
Перечисление многословия.
runtests
по умолчанию включает диагностику, регистрируемую в уровень matlab.unittest.Verbosity.Terse
(уровень 1). Чтобы исключить регистрируемую диагностику, задайте LoggingLevel
как Verbosity.None
(уровень 0).
Регистрируемая диагностика является диагностикой, которую вы предоставляете к среде тестирования вызов метода Fixture.log
или TestCase.log
.
Числовое представление | Имя элемента перечисления | Описание многословия |
---|---|---|
0 | 'none' | Никакая информация |
1 | Terse | Минимальная информация |
2 | Concise | Умеренный объем информации |
3 | Detailed | Некоторая дополнительная информация |
4 | Verbose | Большая дополнительная информация |
'OutputDetail'
— Отобразите уровень для деталей событияmatlab.unittest.Verbosity
Перечисление многословияОтобразите уровень для деталей события, заданных как целочисленное значение от 0 до 4, или как объект перечисления matlab.unittest.Verbosity
. Целочисленные значения соответствуют членам matlab.unittest.Verbosity
Перечисление многословия.
Сбой отображений функции runtests
и регистрируемые события с суммой детали заданы OutputDetail
. По умолчанию runtests
отображает события на уровне matlab.unittest.Verbosity.Detailed
(уровень 3).
Числовое представление | Имя элемента перечисления | Описание многословия |
---|---|---|
0 | 'none' | Никакая информация |
1 | Terse | Минимальная информация |
2 | Concise | Умеренный объем информации |
3 | Detailed | Некоторая дополнительная информация |
4 | Verbose | Большая дополнительная информация |
Имя
Имя элемента комплектаИмя элемента комплекта, заданного как вектор символа. This argument filters TestSuite array elements.
Для среды тестирования, чтобы запустить тест, свойство Name
тестового элемента должно совпадать с указанным именем. Use the wildcard character, *, to match any number of characters.
Use the question mark character, ?
, чтобы совпадать с отдельным символом.
'ParameterName'
Имя параметраИмя параметра используется элементом тестового набора, заданным как вектор символа. This argument filters TestSuite array elements.
Use the wildcard character * to match any number of characters.
Use the question mark character ?
, чтобы совпадать с отдельным символом.
'ParameterProperty'
Имя свойства параметризацииИмя свойства параметризации используется элементом тестового набора, заданным как вектор символа. This argument filters TestSuite array elements.
Use the wildcard character * to match any number of characters.
Use the question mark character ?
, чтобы соответствовать к отдельному символу.
'ProcedureName'
Имя процедуры тестирования в тестеИмя процедуры тестирования, заданной как вектор символа. This argument filters TestSuite array elements.
Use the wildcard character, *, to match any number of characters.
Use the question mark character, ?
, to match to exactly one character.
В основанном на классах тесте ProcedureName
является именем метода тестирования. В функциональном тест это - имя локальной функции, которая содержит тест. В тесте на основе скриптов это - имя, сгенерированное из заголовка экспериментального участка. В отличие от Name
, имя процедуры тестирования не включает класса или имени пакета или информации о параметризации.
'Strict'
— Индикатор, чтобы применить строгие проверкиfalse
(значение по умолчанию) | true
| 0
| 1
Индикатор, чтобы применить строгие проверки при выполнении tests
, заданного как false
или true
(0
или 1
). Например, среда генерирует отказ проверки, если тест выдает предупреждение.
Типы данных: логический
'Superclass'
— Имя класса, от которого выводит тестовый классИмя класса, который тестовый класс выводит от, заданный как скаляр строки или вектор символа. Этот аргумент фильтрует элементы массива TestSuite.
Тег
Имя тестового тега элементовИмя тестового тега элементов, заданного как вектор символа или скаляр строки. This argument filters TestSuite array elements.
Use the wildcard character * to match any number of characters.
Use the question mark character ?
, чтобы совпадать с отдельным символом.
'UseParallel'
Индикатор, чтобы запустить тесты параллельноfalse
(значение по умолчанию) | true
| 0
| 1
Индикатор, чтобы запустить тесты параллельно, заданный как false
или true
(0
или 1
). runtests
по умолчанию запускает тесты в сериале. Если вы устанавливаете UseParallel
на true
, функция runtests
делит тестовый набор на отдельные группы и запускает группы параллельно если:
Parallel Computing Toolbox установлен.
Открытый параллельный пул существует, или автоматическое создание пула включено в Параллельных Настройках.
В противном случае runtests
запускает тесты в сериале независимо от значения для UseParallel
.
Запущение тестов параллельно требует Parallel Computing Toolbox. Среда тестирования может отличаться порядок и количество групп или который тестирует его, включает в каждую группу.
Тестирование параллельно не может быть совместимо с другими опциями. Например, тестирование происходит в сериале, если 'UseParallel'
и 'Debug'
оба установлены в истину.
Типы данных: логический
functiontests
| matlab.unittest. TestResult
| matlab.unittest. TestRunner
| matlab.unittest. Testsuite
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.