12
votes

Pourquoi les cadres de test unitaire en Fortran s'appuient-ils sur Ruby au lieu de Fortran lui-même?

Résumé: Les fruits peuvent être utilisés uniquement avec des compilateurs de fortrain, bien que sa fonctionnalité puisse être améliorée en utilisant Ruby. Vérifiez la réponse ci-dessous de son auteur Andrew Chen.

===========================================

Il semble que les cadres de test d'unité disponibles (Xunit) pour Fortran comprennent:

Funit
http://nasarb.rubyforge.org/

fruit
http://sourceforge.net/projects/fortranxunit/

FLIBS
http://fibs.sourceforge.net/

objexxftk (commercial)
http://www.objexx.com/objexxftk.html

Dans leurs pages Web, Funit, Fruit et FLIBs mentionnent qu'ils dépendent de rubis pour fonctionner. Je n'ai aucune idée d'Objexxftk. Il me semble que les cadres Xunit dans Java, C # et Delphes et ainsi de suite ne font que compter sur la langue correspondante elle-même. Alors pourquoi les cadres fortrans choisissent-ils de compter sur Ruby au lieu de Fortran lui-même?


0 commentaires

3 Réponses :


11
votes

Écrire un cadre de test unitaire avec la complexité, la capacité et la nature dynamique d'un véritable clone Xunit serait tout à fait horrible de Fortran, qui est vraiment conçu pour une analyse numérique.


3 commentaires

Merci beaucoup pour votre commentaire! Néanmoins, basé sur votre expérience, pourriez-vous aider à mentionner certains problèmes techniques spécifiques dans la rédaction d'un clone Xunit que Fortran lui-même est probablement difficile à gérer?


Autre chose que le nombre de chiffres est horrible à Fortran. Les cadres Xunit sont généralement très dynamiques, ils utilisent l'inspection, la RTTI, etc. Fortran ne sont pas préparés pour cela.


Oh! Merci pour vos explications beaucoup!



1
votes

Cela dépend également de ce que vous attendez d'un cadre de test unitaire. Si vous voulez une interface graphique ou que ce soit un plugin pour une IDE, le moyen est peut-être pas le moyen le plus simple de le faire, même si cela est réalisable bien sûr. C'est pourquoi d'autres langues sont souvent préférées.

J'ai écrit un cadre de test d'unité simple pour Fortran à Fortran, un le nez pour Python. Console basée, mais cela fait son travail. Tout dépend de vos besoins. (Me fait penser que je devrais peut-être l'adapter à une utilisation plus générale et la libérer.)

Comme vous semblez utiliser DelphI, vous pouvez mettre vos objets de fichier dans des dlls et les brancher à Dunit par exemple.


0 commentaires

21
votes

xichen,

C'est Andrew Chen, l'auteur de fruits.

Dans le noyau de fruits, il est en pure fortran. La capacité de base comprend l'affirmation, la configuration de la fixation, le résumé, le comptage des erreurs et le rapport. L'objectif de conception est d'avoir la capacité de test dans la langue propre.

Fruit 1.0 a été développé il y a environ 8 ans, avec Pure Fortran. Ensuite, Ruby a été ajouté, Rake a été ajouté en 2008, je pense.

Ceci est particulièrement important dans Fortran, car l'introduction d'une autre langue ou un compilateur dans l'environnement de construction peut être prohibitif.

Cependant, pour rendre le cadre de test flexible, élégant et riche en informations, une autre langue plus flexible est le bon outil (même mes collègues pensent toujours que Fortran peut tout faire, et le monde est géré par Fortran). Ruby est choisi en raison de sa lisibilité et facile à modifier.

Autant que je sache, Funit ne peut pas courir sans rubis, mais les fruits peuvent courir avec uniquement des compilateurs de fortrain. Il a été testé par Intel F95 et G95.

Veuillez consulter les 2 tutoriels, dans Wiki Fruit: 1. Ajoutez des fruits dans votre alimentation en 3 minutes (pure fortran) 2. Ajoutez des fruits dans votre alimentation en 20 minutes (avec rubis)

http://sourceforge.net/apps/mediawiki/fortranxUnit/ index.php? title = main_page

espère que cela aide.

Andrew Hang Chen 陈航 http://blog.sina.com.cn/foreOpen


1 commentaires

Merci beaucoup pour votre temps et vos aimables commentaires! Je vais donner un deuxième fruit un deuxième essai!