編集:これは、MATLAB 用の Jenkins プラグインを使用すると、はるかに簡単になり、常に簡単になっています。
元の答え:
Craig が述べたように、R2013a で導入された MATLAB には実際にフレームワークがあります。さらに、このフレームワークはR2014a でTest Anything Protocalを出力する TAPPlugin を追加しました。そのプロトコルを使用すると、テストが失敗した場合に CI システムがビルドに失敗できるように、TAPPlugin ( Jenkins、TeamCity など) で CI ビルドをセットアップできます。
CI ビルドは、MATLAB を起動してすべてのテストを実行するためのシェル コマンドのように見える場合があります。
/your/path/to/matlab/bin/matlab -nosplash -nodisplay -nodesktop -r "runAllMyTests"
次に、runAllMyTests は実行するスイートを作成し、タップ出力をファイルにリダイレクトして実行します。ここで詳細を微調整する必要がありますが、おそらくこれが開始に役立ちます。
function runAllMyTests
import matlab.unittest.TestSuite;
import matlab.unittest.TestRunner;
import matlab.unittest.plugins.TAPPlugin;
import matlab.unittest.plugins.ToFile;
try
% Create the suite and runner
suite = TestSuite.fromPackage('packageThatContainsTests', 'IncludingSubpackages', true);
runner = TestRunner.withTextOutput;
% Add the TAPPlugin directed to a file in the Jenkins workspace
tapFile = fullfile(getenv('WORKSPACE'), 'testResults.tap');
runner.addPlugin(TAPPlugin.producingOriginalFormat(ToFile(tapFile)));
runner.run(suite);
catch e;
disp(e.getReport);
exit(1);
end;
exit force;
編集:このトピックは、今年開始された新しい開発者向けブログの最初の 2 つの投稿として使用しました。