This framework makes it easy to create full-coverage black box tests for an Alexa skill using Mocha.
Here's an example of what a test might look like with the test framework.
import {AlexaTest, IntentRequestBuilder, LaunchRequestBuilder, SkillSettings} from 'ask-sdk-test';
import {handler as skillHandler} from './helloworld';
// initialize the testing framework
const skillSettings : SkillSettings = {
appId: 'amzn1.ask.skill.00000000-0000-0000-0000-000000000000',
userId: 'amzn1.ask.account.VOID',
deviceId: 'amzn1.ask.device.VOID',
locale: 'en-US',
};
const alexaTest = new AlexaTest(skillHandler, skillSettings);
describe('LaunchRequest', () => {
alexaTest.test([
{
request: new LaunchRequestBuilder(skillSettings).build(),
says: 'Welcome to the Alexa Skills Kit, you can say hello!',
repromptsNothing: true,
shouldEndSession: true,
},
]);
});
If you are writing your Alexa Skills in Python, check out https://github.com/BananaNosh/py_ask_sdk_test
Install the package as a dev dependency with npm install ask-sdk-test --save-dev
.
Write tests in a Typescript file and run them with Mocha. For example, if your test is at 'test/skill.spec.ts', run mocha --require node_modules/ts-node/register/index.js test/skill.spec.ts
.
For some simple examples, see the 'examples' directory.
This framework is based on the alexa-skill-test-framework by Brian MacIntosh and rewritten for Typescript and the ASK SDK v2.