Все хранилища данных, которые выведены из пользовательских классов datastore, совместно используют некоторые общие поведения. Эта процедура тестирования предоставляет инструкции, чтобы протестировать минимальный набор поведений и функциональностей, которые должны иметь все пользовательские хранилища данных. Вам будут нужны дополнительные тесты, чтобы квалифицировать любую уникальную функциональность вашего пользовательского datastore.
Если вы разработали свой пользовательский datastore на основе инструкций в, Разрабатывают Пользовательский Datastore, то следуют за этими процедурами тестирования, чтобы квалифицировать ваш пользовательский datastore. Сначала выполните модульные тесты, сопровождаемые тестами рабочего процесса:
Модульные тесты квалифицируют конструктора datastore и методы.
Тесты рабочего процесса квалифицируют использование datastore.
Для всех этих тестов:
Если не задано в тестовом описании, примите, что вы тестируете непустой datastore ds
.
Проверьте тесты на расширениях файла, кодировке файла и местоположениях данных (как Hadoop®), который ваш пользовательский datastore спроектирован, чтобы поддержать.
Инструкции по модульному тесту для конструктора datastore следующие.
Описание теста | Ожидаемый Выход |
---|---|
Проверяйте, работает ли ваш пользовательский конструктор datastore с минимальными необходимыми входными параметрами. |
Объект Datastore вашего пользовательского типа хранилища данных с минимальными ожидаемыми свойствами и методами |
Проверяйте если ваш объект Запустите эту команду: isa(ds,'matlab.io.Datastore') |
1 |
Вызовите своего пользовательского конструктора datastore с необходимыми входными параметрами и любыми поддерживаемыми входными параметрами и аргументами пары "имя-значение". |
Объект Datastore вашего пользовательского типа хранилища данных с минимальными ожидаемыми свойствами и методами |
read
Инструкции по модульному тесту для read
метод
Описание теста | Ожидаемый Выход |
---|---|
Вызовите t = read(ds); |
Данные с начала datastore Если вы задаете размер чтения, то размер возвращенных данных эквивалентен, чтобы считать размер. |
Вызовите t = read(ds); |
Данные, начинающие с конечной точки предыдущей операции чтения Если вы задаете размер чтения, то размер возвращенных данных эквивалентен, чтобы считать размер. |
Продолжите вызывать while(hasdata(ds)) t = read(ds); end |
Никакие ошибки Правильные данные в правильном формате |
Когда данные будут доступны в чтение, проверяйте Вызовите объект [t,info] = read(ds); |
Никакая ошибка
|
Когда больше данных не будет доступно в чтение, вызовите |
Или ожидаемый выход или сообщение об ошибке на основе вашей пользовательской реализации datastore. |
readall
Инструкции по модульному тесту для readall
метод
Описание теста | Ожидаемый Выход |
---|---|
Вызовите |
Все данные |
Вызовите Читайте из datastore до while(hasdata(ds)) t = read(ds); end readall(ds) |
Все данные |
hasdata
Инструкции по модульному тесту для hasdata
метод
Описание теста | Ожидаемый Выход |
---|---|
Вызовите |
|
Вызовите |
|
Когда больше данных будет доступно в чтение, вызовите |
|
Когда больше данных не будет доступно в чтение, вызовите |
|
reset
Инструкции по модульному тесту для reset
метод
Описание теста | Ожидаемый Выход |
---|---|
Вызовите Проверьте что
reset(ds); t = read(ds); |
Никакие ошибки
Если вы задаете размер чтения, то размер возвращенных данных эквивалентен, чтобы считать размер. |
Когда больше данных будет доступно в чтение, вызовите Проверьте что |
Никакие ошибки
Если вы задаете размер чтения, то размер возвращенных данных эквивалентен, чтобы считать размер. |
Когда больше данных будет доступно в чтение, вызовите Проверьте что |
Никакие ошибки
Если вы задаете размер чтения, то размер возвращенных данных эквивалентен, чтобы считать размер. |
Когда больше данных не будет доступно в чтение, вызовите Проверьте тот |
Никакие ошибки
Если вы задаете размер чтения, то размер возвращенных данных эквивалентен, чтобы считать размер. |
progress
Инструкции по модульному тесту для progress
метод
Описание теста | Ожидаемый Выход |
---|---|
Вызовите |
0 |
Вызовите
readall(ds); progress(ds) |
0 |
Вызовите |
Часть между |
Вызовите |
1 |
preview
Инструкции по модульному тесту для preview
метод
Описание теста | Ожидаемый Выход |
---|---|
Вызовите |
|
Вызовите |
|
Вызовите |
|
Вызовите |
|
Вызовите |
|
Вызовите |
Если вы задаете размер чтения, то размер возвращенных данных эквивалентен, чтобы считать размер. |
Вызовите |
|
В то время как datastore имеет доступные данные, чтобы читать, вызовите |
|
partition
Инструкции по модульному тесту для partition
метод
Описание теста | Ожидаемый Выход |
---|---|
Вызовите Вызовите subds = partition(ds,n,index) read(subds) Проверьте, что раздел допустим. isequal(properties(ds),properties(subds)) isequal(methods(ds),methods(subds)) |
Возвращенный раздел Разделенный datastore
Вызов Если вы задаете размер чтения, то размер возвращенных данных эквивалентен, чтобы считать размер. |
Вызовите Проверьте данные, возвращенные путем вызова subds = partition(ds,1,1) isequal(properties(ds),properties(subds)) isequal(methods(ds),methods(subds)) isequaln(read(subds),read(ds)) isequaln(preview(subds),preview(ds)) |
Раздел Раздел
|
Вызовите | Повторное разделение раздела datastore должно работать без ошибок. |
initializeDatastore
Если ваш datastore наследовался matlab.io.datastore.HadoopFileBased
, затем проверьте поведение initializeDatastore
использование инструкций в этой таблице.
Описание теста | Ожидаемый Выход |
---|---|
Вызовите
Например, инициализируйте info = struct('FileName','myFileName.ext',... 'Offset',0,'Size',500) initializeDatastore(ds,info) Проверьте инициализацию путем исследования свойств объекта datastore. ds |
|
getLocation
Если ваш datastore наследовался matlab.io.datastore.HadoopFileBased
, затем проверьте поведение getLocation
использование этих инструкций.
Описание теста | Ожидаемый Выход |
---|---|
Вызовите location = getLocation(ds) На основе вашей пользовательской реализации datastore,
Если resolve(location) |
|
isfullfile
Если ваш datastore наследовался matlab.io.datastore.HadoopFileBased
, затем проверьте поведение isfullfile
использование этих инструкций.
Описание теста | Ожидаемый Выход |
---|---|
Вызовите |
На основе вашей пользовательской реализации datastore, |
Проверьте свои тесты рабочего процесса в соответствующей среде.
Если ваш datastore наследовался только matlab.io.Datastore
, затем проверьте все тесты рабочего процесса на локальном сеансе MATLAB®.
Если ваш datastore имеет поддержку параллельной обработки (наследовался matlab.io.datastore.Partitionable
), затем проверьте свои тесты рабочего процесса в параллельных средах выполнения, таких как Parallel Computing Toolbox™ и MATLAB Parallel Server™.
Если ваш datastore сделал, чтобы Hadoop поддержал (наследовался matlab.io.datastore.HadoopFileBased
), затем проверьте свои тесты рабочего процесса в кластере Hadoop.
Тестирование инструкций для tall
рабочий процесс
Описание теста | Ожидаемый Выход |
---|---|
Создайте длинный массив путем вызова t = tall(ds) |
|
Для этого тестового шага создайте объект datastore с данными, которые помещаются в вашу системную память. Затем создайте длинный массив с помощью этого объекта datastore. t = tall(ds) Если ваши данные являются числовыми, то примените соответствующую функцию как Если ваши данные имеют тип данных Примените Для примеров смотрите Рабочий процесс Больших данных с использованием высоких массивов и хранилищ данных (Parallel Computing Toolbox). |
Никакие ошибки Функция возвращает выходной параметр правильного типа данных (не Функция возвращает тот же результат, применяется ли это к |
Тестирование инструкций для рабочего процесса MapReduce
Описание теста | Ожидаемый Выход |
---|---|
Вызовите outds = mapreduce(ds,@mapper,@reducer) mapreduce .
Поддерживать использование |
Никакая ошибка Операция MapReduce возвращает ожидаемый результат |
Эта процедура тестирования предоставляет инструкции, чтобы протестировать минимальный набор поведений и функциональностей для пользовательских хранилищ данных. Дополнительные тесты необходимы, чтобы квалифицировать любую уникальную функциональность вашего пользовательского datastore.
После того, как вы завершите реализацию и валидацию вашего пользовательского datastore, ваш пользовательский datastore готов использовать.
Чтобы добавить справку для вашей пользовательской реализации datastore, смотрите, Создают Справку для Классов.
Чтобы совместно использовать ваш пользовательский datastore с другими пользователями, смотрите, Создают и Тулбоксы Доли.
matlab.io.Datastore
| matlab.io.datastore.HadoopLocationBased
| matlab.io.datastore.Partitionable