2010-05-18 9 views
2

Je ne pouvais pas exécuter de tests unitaires non plus dans la fenêtre xp?Aide! Le test d'unité de Sikuli ne peut pas s'exécuter

L'EDI est fonctionnel. Je vous écris le script de test unitaire exemple simple dans l'éditeur, comme suit:

def testHelloWorld (auto):

print("Hello World!") 

mais aucun test apparaît dans la fenêtre de test unitaire. Lorsque vous cliquez sur le bouton Exécuter du volet de test Unité, rien ne se passe, et la fenêtre IDE disparaît, il n'y a aucun moyen de revenir à autre chose que de redémarrer l'EDI.

Il m'avait bloqué pendant plusieurs jours, ce serait précieux si quelqu'un pouvait m'aider à résoudre ce problème!

Merci beaucoup.

Janet

+0

Si cela - appuyant sur Alt + Maj + C ramène l'IDE. Je fermais la fenêtre et recommençais jusqu'à ce que les processus de Sikuli 20 soient exécutés ... – Phantomwhale

Répondre

5

Pour exécuter un test unitaire, vous devez disposer d'une méthode de configuration, une méthode tearDown, et une ou plusieurs méthodes d'essai dont les noms commencent par « test ». Chacun d'eux prend le soi comme premier argument.

Voici une maquette que vous pouvez utiliser. Il est un test d'exemple pour la calculatrice de Windows (non testé):

def setUp(self): 
    setAutoWaitTimeout(10) 
    openApp("C:\\Windows\\system32\calc.exe") # open windows calculator 
    wait("CalculatorWindow.png") # wait for calculator window to appear 

def test_calculator(self): 
    with Region(find("CalculatorWindow.png")): 
     click("1_Button.png")  # Click "1" 
     click("Plus_Button.png") # Click "+" 
     click("2_Button.png")  # Click "2" 
     click("Equals_Button.png") # Click "=" 
    type("c",KEY_CTRL) 
    assert Env.getClipboard() == 3 

def tearDown(self): 
    closeApp("Calculator") # Matches text from the window's title bar 

Voici un exemple plus complet d'un test unitaire, mais il a été écrit pour Sikuli 0,9, tant des méthodes Sikuli (cliquez, trouver, etc.) sont différents de la version actuelle de Sikuli. Mais les méthodes de tests unitaires sont toutes là (setUp, tearDown, test *): http://sikuli.org/documentation.shtml#examples/TestJEdit.sikuli/TestJEdit.html

+0

Je ne trouve nulle part où il est dit que setUp et tearDown sont optionnels, mais vous le supposez? – Blundell