Flex Unit 4 - Bonjour tout le monde
-
09-10-2019 - |
Question
Je veux utiliser l'unité Flex 4 Suite.
Je n'ai pas vraiment d'expérience avec les tests unitaires.
J'ai téléchargé le projet clef en main, mais j'étais un peu dépassé.
Je veux juste essentiellement commencer par la création d'un simple test de l'unité Bonjour tout le monde.
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?
La solution
Ajoutez une nouvelle application à votre projet Flex - le nom avec un suffixe « UnitTest.mxml ». Ajouter une référence à TestRunnerBase, et creationComplete démarrer le 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>
Autres conseils
Le problème est que vos tests ne sont même pas en cours d'exécution? À un moment donné, quelque part, vous devriez voir l'affichage de vos résultats de tests, qu'ils passent ou échouent.
J'utilise personnellement AsUnit. Quand j'étais dans un projet Flex l'autre jour - ce qui était la première fois que je avais jamais utilisé AsUnit dans un proj Flex - quand j'appuyé sur le bouton de compilation, on m'a demandé si je voulais démarrer ma demande ou si je voulais commencer à la place le coureur de test AsUnit.
Alors oui, vos tests doivent être invoquées en quelque sorte, comme adamcodes suggérés manuellement.