Что такое самый простой способ предоставить подфункции M-файла для модульного тестирования?

В последнее время я возился с полной интеграцией непрерывного тестирования в мой цикл разработки Matlab и столкнулся с проблемой, которую я не знаю, как ее обойти. Как известно почти всем пользователям, Matlab любезно скрывает подфункции в M-файле от просмотра любых функций вне этого M-файла. Пример игрушки можно увидеть ниже:

function [things] = myfunc(data)
  [stuff] = mysubfunc(data)
  things = mean(stuff);
end

Я хочу выполнить модульное тестирование самой подфункции. Это, AFAIK, невозможно, потому что я не могу вызвать его из какой-либо внешней функции.

В настоящее время я использую Matlab xUnit от Стива Эддинса и не могу обойти эту проблему. Простое решение - разделение подфункции на собственный M-файл - неприемлемо на практике, потому что у меня будет множество небольших функций, которые я хочу протестировать и не хочу загрязнять свою файловую систему отдельным M-файлом для каждой из них. . Что я могу сделать, чтобы написать и выполнить простые модульные тесты, не создавая новых файлов для каждой функции, которую я хочу протестировать?

14
задан Scott 11 January 2011 в 22:38
поделиться