Structure de test unitaire C ++ pour z / OS (mainframe IBM)
-
10-07-2019 - |
Question
Est-ce que quelqu'un connaît un framework de test unitaire C ++ (par exemple, CppUnit , Test Google , etc.) pouvant être utilisés pour écrire des tests sur z / OS ?
Je réalise l'essentiel de mon développement sous Windows à l'aide du compilateur Dignus C ++ que vous pouvez utiliser. en tant que compilateur croisé et générer un code objet à exécuter sur z / OS. J'ai essayé d'écrire un exemple de test à l'aide de Google Test, mais le compilateur n'a pas pu compiler / lier le code de Google Test. Google Test ne prétend pas prendre en charge z / OS, c'est donc ce qui était attendu. Mais ça valait le coup d'essayer!
Merci beaucoup pour vos réponses!
La solution
Essayez CPP Unit Lite (de l'auteur de CppUnit). Il utilise un code C ++ assez simple, il y a de bonnes chances que cela fonctionne sur le compilateur de z / OS.
Autres conseils
Je sais que je suis en retard pour la soirée ici, mais pour tous ceux qui s'intéressent aux frameworks de test C ++ sur z / OS, je recommande vivement l'option Catch , qui dépasse de loin tous les autres frameworks de test C ++ que j'ai utilisés. Je l'utilise sur z / OS depuis environ 6 mois et c'est une bouffée d'air frais. Il est très facile à utiliser et intuitif et supporte le style Développement basé sur le comportement (BDD) tests qui est une manière contemporaine d’écrire des cas de tests.
Son en-tête uniquement et ne repose sur aucune fonctionnalité C ++ 11, ce qui est un piège courant lorsque vous essayez de créer des bibliothèques / infrastructures modernes sur z / OS car le compilateur C ++ ne prend pas en charge C ++ 11.
La seule chose à laquelle je puisse penser est que la compilation prenne un peu de temps car c'est une bibliothèque contenant uniquement des en-têtes. Mais loin d’être aussi long qu’un coup de pouce.
Peut-être pourriez-vous ouvrir un rapport de bogue pour Google Test et voir s’ils le corrigent? Il existe probablement une dépendance ASCII dans le code quelque part qui a entraîné l'échec de la compilation du code de test. Pourriez-vous creuser le message d'erreur généré par le compilateur IBM?