matlab.unittest.constraints. Класс ContainsSubstring

Пакет: matlab.unittest.constraints
Суперклассы: matlab.unittest.constraints. BooleanConstraint

Ограничение, задающее подстроку строки, содержащей

Конструкция

ContainsSubstring(substring) создает ограничение, которое задает скаляр строки или вектор символа, содержащий substring. Ограничение удовлетворено, только если фактическое значение содержит ожидаемую подстроку.

ContainsSubstring(substring,Name,Value) предоставляет ограничению дополнительные опции, заданные одним или несколькими аргументами пары Name,Value. Name must appear inside single quotes (''). Вы может задать несколько аргументов в виде пар "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN.

Входные параметры

substring

Текст, который должен содержаться в фактическом значении, задал как скаляр строки или вектор символа. substring может включать символы новой строки.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Имя должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

'IgnoringCase'

Индикатор, если ограничение нечувствительно к регистру, задано как false или true (logical 0 или 1)

По умолчанию: false

'IgnoringWhitespace'

Индикатор, если ограничение нечувствительно к пробелу, заданному как false или true (logical 0 или 1)

По умолчанию: false

Свойства

Игнорирование регистра

Индикатор, если ограничение нечувствительно к регистру, задано в аргументе в виде пар "имя-значение", 'IgnoringCase'. Это свойство применяется на всех уровнях рекурсии, таких как вложенные структуры.

IgnoreWhitespace

Индикатор, если ограничение нечувствительно к пробелу, заданному в аргументе в виде пар "имя-значение", 'IgnoringWhitespace'. Это свойство применяется на всех уровнях рекурсии, таких как вложенные структуры.

Substring

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

Примеры

свернуть все

Создайте контрольный пример для интерактивного тестирования.

import matlab.unittest.TestCase
import matlab.unittest.constraints.ContainsSubstring

testCase = TestCase.forInteractiveUse;

Задайте фактическое значение.

actVal = 'This Is One Long Message';

Тест actVal содержит текст 'One'.

testCase.verifyThat(actVal, ContainsSubstring('One'))
Interactive verification passed.

Тест actVal содержит текст 'long'.

testCase.verifyThat(actVal, ContainsSubstring('long'))
Interactive verification failed.

---------------------
Framework Diagnostic:
---------------------
ContainsSubstring failed.
--> The value does not contain the substring.

Actual char:
    This Is One Long Message
Expected Substring:
    long

По умолчанию ограничение ContainsSubstring является чувствительным к регистру.

Повторите тестовый регистр игнорирующего.

testCase.verifyThat(actVal, ContainsSubstring('long',...
    'IgnoringCase', true))
Interactive verification passed.

Тест actVal содержит текст 'thisisone'. Для теста, чтобы передать, сконфигурируйте ограничение, чтобы проигнорировать пробел и случай.

testCase.verifyThat(actVal, ContainsSubstring('thisisone', ...
    'IgnoringCase', true, 'IgnoringWhitespace', true))
Interactive verification passed.

Утверждайте, что actVal не содержит текст 'longer'.

testCase.assertThat(actVal, ~ContainsSubstring('longer',...
    'IgnoringCase', true))
Interactive verification passed.
Была ли эта тема полезной?