2010-10-18 19 views
3

Je souhaite utiliser la suite Flex Unit 4.Flex Unit 4 - Hello World

Je n'ai pas vraiment d'expérience avec les tests unitaires.

J'ai téléchargé le projet Turnkey mais j'étais un peu dépassé.

Je veux simplement commencer par créer un simple test d'unité de monde bonjour. Si j'ai une classe appelée MyClass avec 2 méthodes square() et cube().

et je veux créer un test unitaire comme ceci:

public class MyTest 
{ 
    public function testMyClass():void 
    { 
     var myClass:MyClass = new MyClass(); 

     assert(myClass.square(7) == 49); 
     assert(myClass.cube(7) == 343); 
     assert(myClass.square(5) == 50); // should fail 
    } 
} 

Comment puis-je obtenir ce travail?

Répondre

1

Ajoutez une nouvelle application à votre projet Flex - nommez-la avec le suffixe «UnitTest.mxml». Ajoutez une référence à TestRunnerBase et, à la créationComplete, démarrez TestRunnerBase. Cela devrait vous aider à démarrer:

<?xml version="1.0" encoding="utf-8"?> 

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:flexunit="flexunit.flexui.*" creationComplete="init();"><mx:Script> 
    <![CDATA[ 

     import flexunit.framework.TestSuite; 
    import FlexUnit.*; 

    private function init():void{ 
    test.test = initSuite(); 
    test.startTest(); 
    } 

    private function initSuite():TestSuite{ 
    var suite:TestSuite = new TestSuite(); 
    suite.addTestSuite(testMyClass); 
    return suite; 
    } 
    ]]> 
</mx:Script> 
<flexunit:TestRunnerBase id="test" width="100%" height="100%" /> 
</mx:Application> 
1

Le problème est que vos tests ne sont même pas en cours d'exécution? À un certain moment, quelque part, vous devriez voir l'affichage de vos résultats de test, qu'ils réussissent ou échouent.

Personnellement, j'utilise ASUnit. Quand j'étais dans un projet Flex l'autre jour - c'était la première fois que j'utilisais ASUnit dans un projet Flex - quand j'ai appuyé sur le bouton de compilation, on m'a demandé si je voulais démarrer mon application ou si je voulais démarrer le runner de test ASUnit à la place.

Alors oui, vos tests doivent être invoqués manuellement, comme les adamcodes suggérés.