exponenta event banner

matlab.unittest.fixtures. Класс SuppressedWarningsFixture

Пакет: matlab.unittest.fixtures

Приспособление для подавления отображения предупреждений

Описание

SuppressedWarningsFixture класс обеспечивает приспособление для подавления отображения предупреждений. При настройке SuppressedWarningsFixture отключает одно или несколько указанных предупреждений. При разрыве приспособление восстанавливает прежние значения состояния предупреждений.

Строительство

matlab.unittest.fixtures.SuppressedWarningsFixture(warnIDs) создает приспособление для подавления отображения одного или нескольких предупреждений.

Входные аргументы

развернуть все

Идентификаторы предупреждений для подавляемых предупреждений, заданные как символьный вектор или массив ячеек символьных векторов.

Свойства

Warnings

Идентификаторы предупреждения, описывающие предупреждения для подавления, указанные как массив ячеек векторов символов в warnings входной аргумент.

Копирование семантики

Ручка. Сведения о том, как классы обработки влияют на операции копирования, см. в разделе Копирование объектов.

Примеры

свернуть все

Подавьте предупреждение, возникающее при попытке удалить папку из пути поиска, которая отсутствует в пути поиска.

Удалите папку, folderthatisnotonpath от вашего пути, если он не существует.

 rmpath('folderthatisnotonpath')
Warning: "folderthatisnotonpath" not found in path. 
> In rmpath at 58 

Появляется предупреждение, потому что rmpath не удается найти папку.

Подавление предупреждения во время тестирования путем создания следующего suppressWarningsTest определение класса в пути MATLAB ®.

classdef suppressWarningsTest < matlab.unittest.TestCase
    methods(Test)
        function test1(testCase)
            import matlab.unittest.fixtures.SuppressedWarningsFixture
            
            testCase.applyFixture(...
                SuppressedWarningsFixture('MATLAB:rmpath:DirNotFound'));
            
            % would otherwise cause warning
            rmpath('folderthatisnotonpath')  
        end
    end
end

В командной строке запустите тест. Для целей данного примера вызовите rmpath до и после выполнения теста, чтобы показать, что предупреждение не подавляется вне выполнения теста.

rmpath('folderthatisnotonpath')
run(suppressWarningsTest);
rmpath('folderthatisnotonpath')
Warning: "folderthatisnotonpath" not found in path. 
> In rmpath at 58 
Running suppressWarningsTest
.
Done suppressWarningsTest
__________

Warning: "folderthatisnotonpath" not found in path. 
> In rmpath at 58 

Обратите внимание, что вызов rmpath в suppressWarningsTest не приводит к появлению предупреждения.