Unit and Integration testing in modularized Julia package eco-systems


Unit and Integration testing in modularized Julia package eco-systems

Ehrig, S.

In high-energy physics, we want to simulate complex physical processes that require computational resources of the fastest HPC systems in the world. In order to fully use the computational resources, software that is maintainable, performant and extensible is required. To achieve these goals, automated testing is essential.
Modern Julia HEP software is modularized into sub-packages to improve maintainability and extensibility. This creates new challenges for automated testing. Unit tests and integration tests are required. If the code of one package is changed, unit tests ensure that the package is still working, whereas integration tests ensure that in dependent packages no functionality break is caused by the change.
Using the QED.jl [1] project as an example, I will demonstrate how we implemented unit and integration tests for the main QED.jl package and its sub-packages.

[1] https://github.com/QEDjl-project/QED.jl

Keywords: Julia; Integration Tests; QED.jl; Automatic Testing

  • Open Access Logo Lecture (Conference)
    JuliaHEP 2023 Workshop, 06.-09.11.2023, Erlangen Centre for Astroparticle Physics, Deutschland

Downloads

Permalink: https://www.hzdr.de/publications/Publ-37823