使用ask-cli的alexa的python测试框架

InterviewAlexa的Python项目详细描述


访问alexa
===


alexa的python测试框架,使用ask cli


典型用法:


import unittest
从访问alexa import say



class testingallthethings(unittest.testcase):

@say('open my skill')
def test\u launch意图(self,result):
self.assertequal(result,'my expected result')

if u name_uuu='u main_uu':
unittest.main()


先决条件
===

*安装``node``
*<;https://nodejs.org/en/download/package manager/>;

*安装并初始化``ask cli`
*<;https://developer.amazon.com/docs/smapi/quick start alexa skills kit command line interface.html>;

ask init

*按照“ask cli”提示

*导出环境变量:

导出ask默认设备语言环境=en us


*克隆你现有的Alexa技能:创建一个名为“tests.py”的文件,名为“tests.py```



project





我的克隆技能



**笔试:**









impimpimport unittest
>从采访中导入unittest unittest




>





<我的技能“)
def test_launch_intent(self,result):
self.assertequal(result,“my expected result”)


结果:
self.assertequal(结果,“我的预期结果”)

将生成ask cli的详细输出


**简单测试**:




cd my_skill
python tests.py

--



>通过测试将输出如下内容:为模拟ID创建的模拟:1234-5679-910112-abc-123
响应。
——您需要确保模拟对话框的所有测试都按字母顺序命名。

@say('open my skill')
def test_au aa_au begin_au dialog(self,result):
self.assertequal(result,“my expected result”)

@say('do something with my skill')
def test_au ab_au continue_au dialog(self,结果:
self.assertequal(result,“My expected result”)



如果预期结果是委托对话,则您的响应可能不包括任何输出语音。在这种情况下,您可能需要“pass”:

@say('do something with my skill')
def test_ac_u delegated_u dialog(self,result):
pass


**本地测试**


此包利用另一个名为“python lambda local”的伟大包在本地运行测试。

``要记录请求事件,请使用“python lambda local”来测试记录的事件。

然后在测试模块的“setup”方法中运行记录:

import unittest
from interview\u alexa import say,record,本地化所有提示(unittest.testcase)的类测试:



def setup(self):
record(self)

@say('open my skill')
def test启动意图(self,result):
self.assertequal(result,'my expected result')



**录制模式**打开时,您应该在工作目录中看到一个“tmp”文件夹一些和你的测试同名的json文件。




project




在当地,您可以在**本地化模式**下运行测试,并像往常一样使用“python tests.py”再次运行测试。



import unittest
从访谈中导入alexa import say,record,localize



class testingallthethings(unittest.testcase):

def setup(self):
record(self
局部化(自我)






欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
oop Java多态性:如何指示应该使用子类进行比较?   JavaLibGDX:渲染基于可缩放向量的形状的最快方法是什么?   java如何通过可选选项同时检查NPE上对象的字段和条件?如果一切正常,什么都不做,否则抛出异常   java使用camera2获取图像捕获时间   未单击时选中java Recyclerview复选框   java Android Hello world项目未运行   java在网站上发布处理代码?   java如何在jdialog中设置垂直滚动条?   java等待并通知   使用JavaFX在raspberry PI上构建java Maven失败   java处理空值Hazelcast投影   在java中为以下数据选择完美的数据结构   通过ApacheHttpClient将对象的arraylist从Java传递到PHP   使用同步关键字的多线程java等待通知方法   java素数与布尔逻辑   java组织。json。JSONException:JSONArray文本必须以“[”开头