MATLAB Answers

単体テスト(Unit test) を行う方法として、ク​ラス、関数またはスク​リプトベースがありま​すが、どの方法が最適​ですか?

2 views (last 30 days)
コードを単体テストしたいのですが、MATLABにはクラス、スクリプト、関数に基づいて複数のアプローチがあります。どの方法がよいのか、教えてください。

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 26 Jul 2021
クラスベース、関数ベース、およびスクリプトベースのテストはすべて等しく有効なアプローチであり、 3つすべてが有効な xUnit 実装です。
どの方法を使用するか、については、基本的には使用したい機能や、ユーザご自身の好み、書きやすいスタイルによって決定していただくこととなります。
クラスベースのテストは、ほとんどの機能(継承によるコード共有、共有テストフィクスチャ、パラメータ化されたテストなど)を提供しますが、スクリプトベースのテストは、それに比較すると提供されている機能は少なくなります。
一方、スクリプトベースのテストは、特にオブジェクト指向プログラミングに慣れていない場合、はるかに簡単に作成できます。 
関数ベースのテストは、使いやすさと機能の範囲に関するクラスベースのテストとスクリプトベースのテストの中間のような機能です。
テストフレームワークの機能を優先させたい場合は、クラスベースのテストを作成することをお勧めします。
弊社のユーザコミュニティにも関連する投稿があります。
・Should I rather write scripts for tests and use the runtests function or define test classes
which inherit from the matlab.unittest.TestCase class?

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!