Mycroft AI
  • Documentation
  • About Mycroft AI
    • Why use Mycroft AI?
    • Glossary of terms
    • Contributing
    • FAQ
  • Using Mycroft AI
    • Get Mycroft
      • Mark II
        • Mark II Dev Kit
      • Mark 1
      • Picroft
      • Linux
      • Mac OS and Windows with VirtualBox
      • Docker
      • Android
    • Pairing Your Device
    • Basic Commands
    • Installing New Skills
    • Customizations
      • Configuration Manager
      • mycroft.conf
      • Languages
        • Français (French)
        • Deutsch (German)
      • Using a Custom Wake Word
      • Speech-To-Text
      • Text-To-Speech
    • Troubleshooting
      • General Troubleshooting
      • Audio Troubleshooting
      • Wake Word Troubleshooting
      • Log Files
      • Support Skill
      • Getting more support
  • Skill Development
    • Voice User Interface Design Guidelines
      • What can a Skill do?
      • Design Process
      • Voice Assistant Personas
      • Interactions
        • Intents
        • Statements and Prompts
        • Confirmations
      • Conversations
      • Error Handling
      • Example Interaction Script
      • Prototyping
      • Design to Development
    • Development Setup
      • Python Resources
      • Your First Skill
    • Skill Structure
      • Lifecycle Methods
      • Logging
      • Skill Settings
      • Dependencies
        • Manifest.yml
        • Requirements files
      • Filesystem access
      • Skill API
    • Integration Tests
      • Test Steps
      • Scenario Outlines
      • Test Runner
      • Reviewing the Report
      • Adding Custom Steps
      • Old Test System
    • User interaction
      • Intents
        • Padatious Intents
        • Adapt Intents
      • Statements
      • Prompts
      • Parsing Utterances
      • Confirmations
      • Conversational Context
      • Converse
    • Displaying information
      • GUI Framework
      • Show Simple Content
      • Mycroft-GUI on a PC
      • Mark 1 Display
    • Advanced Skill Types
      • Fallback Skill
      • Common Play Framework
      • Common Query Framework
      • Common IoT Framework
    • Mycroft Skills Manager
      • Troubleshooting
    • Marketplace Submission
      • Skills Acceptance Process
        • Information Review Template
        • Code Review Template
        • Functional Review Template
        • Combined Template
      • Skill README.md
    • FAQ
  • Mycroft Technologies
    • Technology Overview
    • Roadmap
    • Mycroft Core
      • MessageBus
      • Message Types
      • Services
        • Enclosure
        • Voice Service
        • Audio Service
        • Skills Service
      • Plugins
        • Audioservice Plugins
        • STT Plugins
        • TTS Plugins
        • Wake Word Plugins
      • Testing
      • Legacy Repo
    • Adapt
      • Adapt Examples
      • Adapt Tutorial
    • Lingua Franca
    • Mimic TTS
      • Mimic 3
      • Mimic 2
      • Mimic 1
      • Mimic Recording Studio
    • Mycroft GUI
      • Remote STT and TTS
    • Mycroft Skills Kit
    • Mycroft Skills Manager
    • Padatious
    • Precise
    • Platforms
Powered by GitBook
On this page
  • Test Output
  • Failing tests
  • Allure Reporting Framework
  • Help

Was this helpful?

  1. Skill Development
  2. Integration Tests

Reviewing the Report

Test Output

The details of each test scenario is printed to the terminal (stdout) as it is run, and at the end of our test a summary is printed.

Failing scenarios:
  features/hello-world.feature:3  Hello world

1 feature passed, 1 failed, 0 skipped
8 scenarios passed, 1 failed, 0 skipped
26 steps passed, 1 failed, 0 skipped, 0 undefined
Took 0m14.191s

In this example we can see that a scenario called "Hello world" from the hello-world.feature file failed. It also points us to the line number where this scenario is defined in that file - line 3.

The summary also outlines how many features, scenarios and steps have passed, failed or been skipped. Followed by the duration of how long all of the tests took to run.

Let's now go take a look at that failing test.

Failing tests

If a scenario fails, the failing Then statement will be highlighted in red, and a detailed description of the failure is provided. By default, the test runner will automatically retry the failing scenario a second time before moving on.

2020-03-20 19:11:14,392 | Voight Kampff | INFO | Starting tests for mycroft-hello-world
Feature: mycroft-hello-world # features/hello-world.feature:1

  Scenario: Hello world                                            # features/hello-world.feature:3
    Given an english speaking user                                 # features/steps/utterance_responses.py:108 0.001s
    When the user says "Hello world"                               # features/steps/utterance_responses.py:113 0.001s
    Then "mycroft-hello-world" should reply with "I'm doing very well" # features/steps/utterance_responses.py:137 10.019s
      Assertion Failed: Mycroft responded with: mycroft-hello-world by mycroftai
      Mycroft: hello.world.dialog(HelloWorldSkill)
      "Hi to you too"

      Captured stdout:
      Matching with the dialog file: how.are.you.dialog

      Captured logging:
      INFO:msm.mycroft_skills_manager:Best match (1.0): mycroft-hello-world by mycroftai

The example output above shows a test that has failed. The line containing the Then statement would be highlighted in red, and it has provided a description of the error. In this case Mycroft responded with "Hi to you too" which is in the hello.world.dialog file in the mycroft-hello-world Skill. It then indicates that the response string provided in the test "I'm doing very well" was actually found in the how.are.you.dialog file.

Looks like we have an error in our test. Mycroft should respond to "Hello World" with "Hi to you too" or another phrase from hello.world.dialog.

Allure Reporting Framework

Help

PreviousTest RunnerNextAdding Custom Steps

Last updated 5 years ago

Was this helpful?

The test results are also written to JSON files that can be used with , an open source test reporting framework.

For further assistance with Skill testing, please post your question on the or in the .

See our . This helps you get a more complete response faster.

Allure
Community Forums
Skills channel on Mycroft Chat
tips for how to ask the best questions