On ne sait pas si vous êtes à la recherche d'une méthodologie ou une technologie spécifique à utiliser pour vos tests.
En ce qui concerne la méthodologie, vous ne voulez peut-être pas effectuer de tests unitaires approfondis. Peut-être une meilleure approche serait d'écrire quelques programmes dans votre langue spécifique au domaine et ensuite exécuter les opcodes pour produire un résultat. Les programmes de test vérifieront alors ce résultat. De cette façon, vous pouvez exercer un tas de code, mais ne cochez qu'un seul résultat à la fin. Commencez avec des simples pour débusquer les bogues évidents et le passage aux plus difficiles. Au lieu de vérifier les opcodes générés à chaque fois.
Une autre approche à prendre est de générer automatiquement des programmes dans votre langage spécifique au domaine avec les opcodes attendus. Cela peut être très simple, comme l'écriture d'un script perl qui produit un ensemble de programmes tels que:
set lcl_var = 2
set lcl_var = 3
Une fois que vous avez une série de programmes de test dans votre langue avoir une sortie correcte, vous pouvez revenir en arrière et générer des tests unitaires qui vérifient chaque opcode. Puisque vous avez déjà les opcodes, il devient nécessaire d'inspecter la sortie de l'analyseur pour vérifier qu'il est correct; revoir son code.
Bien que je n'utilise pas cppunit, j'ai utilisé un outil interne qui ressemblait beaucoup à cppunit. Il était facile d'implémenter des tests unitaires en utilisant cppunit.
Le codage dur est le meilleur, le test d'unité devrait vous indiquer très précisément où l'erreur est dans la base de code. Si c'est générique l'erreur pourrait être dans la "liste des codes valides" pas l'analyseur. – Paxic