使用ask cli的alexa技能python测试框架

interview-alexa的Python项目详细描述


[访问alexa](https://github.com/crodriguez1a/interview alexa)
==


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




installation:

``bash
pip install interview alexa
````

典型用法:

``python
import unittest





>class testingallthethings(unittest.testcase)类测试用例(unittest.testcase):


@say(‘打开我的技能’)
>detest启动意图(自我,结果):
>self.assertequal(结果,‘我的预期结果’)






















================================

*安装``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>;BR/> NP/C> BI/>>BR/> > BR/>*BR/>*BR/>*BR/>*出口环境变量:< BBH > BR/>出口SKLILIDID= AMZN1。请询问12345。<技能id
```



usage
==


创建一个名为``tests.py```tests.py`



@说('打开我的技能')
发射意图(自我,结果):
self.assertequal(result,“我的预期结果”)




自我评估(结果,“我的预期结果”)


=>;将从ask cli产生一个详细的输出:ask cli
````

**简单测试**:


``bash
cd我的技能
python tests.py
````
>

````>
>
>

>为模拟创建的模拟id:1234-5679-910112-abc-112-abc-123
>
>为模拟创建的模拟生成的模拟id:1234-1234-5679-1234-5679-5679等待对于模拟响应。
-----------------------------------
在5.848s中运行1个测试


ok
````

**对话框测试**


您需要确保模拟对话框的任何测试都按字母顺序命名。

``python
@say('open my skill')
def test_au aa_au begin_au dialog(self,result):
self.assertequal(result,“my expected result”)
def test_au ab_au continue_ation dialog(self,结果:
self.assertequal(result,“My expected result”)
````

在这种情况下,您可能需要“通过”:

``python
@say('do something with my skill')
def test\u ac\u delegated\u dialog(self,结果:
pass
``

**本地测试**


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

``bash
``pip install python lambda local
``

为此,我们使用“ask cli”记录您的请求事件,并使用“python lambda local”测试根据记录的事件。

首先,确保导入记录并本地化函数。然后在测试模块的“setup”方法中运行记录:

``python
import unittest
h_intent(self,result):
self.assertequal(result,“我的预期结果”)


````


一旦您在**记录模式**下运行测试,你应该在你的工作目录中看到一个“tmp”文件夹,里面有一些和你的测试同名的json文件。



/>```

如果在本地记录了一些事件,则可以在**本地化模式**下运行测试,并像往常一样使用“python tests.py”再次运行测试。

``python
import unittest
摘自访谈本地化



>类测试所有提示(unittest.testcase):

记录(self)
本地化(self,'path/to/lambda/handler.py');默认值为lambda/custom/handler.py


``````


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

推荐PyPI第三方库


热门话题
java无法启动应用程序:JNLP错误   java根据用户输入在PreparedStatement中使用setTime()或setNull()   java EJB与同步   java以object为键通过hashmap进行搜索   java中的模10^9+7   针对包含其他对象的对象的java OOP最佳实践   如何将字符串作为HTML代码从Java文件读取到JSP页面?   java我的POM怎么了?“解析表达式..检测到递归表达式循环”   用于Hbase的Mapreduce的java NoSuchMethodError   JAVAlang.SecurityException:权限拒绝:启动意图{act=安卓.Intent.action.MAIN cat=[安卓.Intent.category.LAUNCHER]   数组初始化谜语Java   通过arraylist搜索时的java句柄关联