Creating MATLAB tests in separate folder/module

5 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Yongjian Feng
Yongjian Feng il 7 Dic 2021
Modificato: Yongjian Feng il 7 Dic 2021
Use
addpath("your_root_path")
  3 Commenti
Yongjian Feng
Yongjian Feng il 7 Dic 2021
You just need to add it once. The matlab path is global. Once added, all will get it.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Startup and Shutdown in Help Center e File Exchange

Tag

Prodotti


Release

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by