В последнее время я возился с полной интеграцией непрерывного тестирования в мой цикл разработки Matlab и столкнулся с проблемой, о которой я не знаю, как обойти. Как известно почти всем пользователям, Matlab любезно скрывает подфункции в M файле с точки зрения любых функций вне этого M файла. Пример игрушки можно увидеть ниже:
function [things] = myfunc(data)
[stuff] = mysubfunc(data)
things = mean(stuff);
end
Я хочу выполнить модульное тестирование на самом субфонсе. Это AFAIK невозможно, потому что я не могу назвать это из любой внешней функции.
В настоящее время я использую Matlab xUnit от Steve Eddins и не могу обойти эту проблему. Простое решение - разделение подмножества на собственный M файл - на практике неприемлемо, потому что у меня будет множество небольших функций, которые я хочу протестировать, и не хочу загрязнять мою файловую систему отдельным M файлом для каждого из них, Что я могу сделать для написания и выполнения простых модульных тестов без создания новых файлов для каждой функции, которую я хочу проверить?