Comment traitez-vous avec la fonction de visibilité des tests unitaires et en Haskell?
Si vous exportez chaque fonction dans un module, de sorte que les tests unitaires ont accès, vous risque d'autres personnes à appeler des fonctions qui ne devraient pas être dans l'API publique.
J'ai pensé à l'aide d' {-# LANGUAGE CPP #-}
puis environnant les exportations avec un #ifdef
:
{-# LANGUAGE CPP #-}
module SomeModule
#ifndef TESTING
( export1
, export2
)
#endif
where
Est-il un meilleur moyen?