2017-02-12 15 views

Odpowiedz

5

Zbudowaliśmy nasz emulator Alexa specjalnie w celu umożliwienia łatwego jednostki testowanie i funkcjonalne badanie umiejętności Alexa:
http://docs.bespoken.tools/en/latest/tutorials/tutorial_bst_emulator_nodejs/

Dzięki niemu można wykonywać połączenia tak:

alexa.launched(function (error, response) { 
    alexa.spoken('About the podcast', function (error, response) { 
     assert.equal(response.response.outputSpeech.ssml, '<speak> Some SSML </speak>'); 
     done(); 
    }); 
}); 

Ten kod testowy imituje użytkownika uruchamiającego umiejętność i mówiącego "O podkaście". Te interakcje są automatycznie tłumaczone na prawidłowe prośby Alexa JSON, które z kolei są następnie przesyłane do twojego kodu umiejętności.

Można również tworzyć bardziej wyrafinowane testy jednostkowe, które polegają na naśladowaniu stanu wewnętrznego urządzenia Alexa we wszystkich interakcjach. Są one opisane w samouczku.

0

lex-bot-tester to ramy i narzędzie do tworzenia konwersacyjne testy dla Amazon Alexa i Lex.

Zamiast używać symulowanej wersji umiejętności, wykorzystuje istniejącą SMAPI do radzenia sobie z Alexą.

Testy można tworzyć ręcznie lub automatycznie za pomocą dołączonego narzędzia o nazwie urutu. Obecnie generowanie kodu to python, ale implementacja umiejętności może być w dowolnym obsługiwanym języku.

Po interakcji z umiejętności z linii komend, definiowanie rozmowę, wygenerowany kod wygląda następująco

#! /usr/bin/env python 
import sys 
import unittest 

from lex_bot_tester.aws.alexa.alexaskilltest import AlexaSkillTest 

verbose = True 

class GeneratedTests(AlexaSkillTest): 
    def test_book_my_trip_reserve_car(self): 
     """ 
     Test generated by urutu on 2018-02-21 01:24:51 
     """ 
     skill_name = 'BookMyTripSkill' 
     intent = 'BookCar' 
     conversation = [{'slot': None, 'text': 'ask book my trip to reserve a car', 'prompt': None}, 
         {'slot': 'CarType', 'text': 'midsize', 
         'prompt': 'What type of car would you like to rent, Our most popular options are economy, midsize, and luxury'}, 
         {'slot': 'PickUpCity', 'text': 'vancouver', 
         'prompt': 'In what city do you need to rent a car?'}, 
         {'slot': 'PickUpDate', 'text': 'tomorrow', 
         'prompt': 'What day do you want to start your rental?'}, 
         {'slot': 'ReturnDate', 'text': 'next week', 
         'prompt': 'What day do you want to return the car?'}, 
         {'slot': 'DriverAge', 'text': '25', 'prompt': 'How old is the driver for this rental?'}] 
     simulation_result = self.conversation_text(skill_name, intent, conversation, verbose=verbose) 
     self.assertSimulationResultIsCorrect(simulation_result, verbose=verbose) 

if __name__ == '__main__': 
    unittest.main() 

Jest bardziej szczegółowe wyjaśnienie i niektóre filmy w Testing Alexa Skills — Autogenerated tests.