使用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
局部化(自我)
…
===
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 cli”提示
*导出环境变量:
*克隆你现有的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
局部化(自我)
…