Creating MATLAB tests in separate folder/module

2 views (last 30 days)
I would like to store all my tests in a seperate tests folder within my workspace. The intention of this is to keep the code base simpler and to allow me to use matlab.unittest.TestSuite.fromFolder to create a test suite of all the tests in this directory which can be run in one command.
For example
/
|- tests/
|- testFunctionOne.m
|- testFunctionTwo.m
| functionOne.m
| functionTwo.m
I'm coming from a Python background and this is quite common there. The Python Unittests module searches through a module for all tests and runs them.
When I try this in MATLAB this creates an error as the tests cannot find the functions located in the root directory. This makes sense becasue they're not on the search path when running functions from the tests directory. I don't want to dwell on Python, but this also happens there too. The solution is to add the root directory to the PYTHONPATH variable.
My questions are as follows:
  1. Is it common to locate the tests seperatly from the source code in MATLAB?
  2. What is the best way to add the root directory of my project to the search path of the tests?
  3. Is there another better best practice way of placing all tests outside of the root directory that I'm not aware off?

Accepted Answer

Yongjian Feng
Yongjian Feng on 7 Dec 2021
Edited: Yongjian Feng on 7 Dec 2021
Use
addpath("your_root_path")
  3 Comments
Yongjian Feng
Yongjian Feng on 7 Dec 2021
You just need to add it once. The matlab path is global. Once added, all will get it.

Sign in to comment.

More Answers (0)

Categories

Find more on Testing Frameworks in Help Center and File Exchange

Tags

Products


Release

R2016b

Community Treasure Hunt

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

Start Hunting!