Uploaded image for project: 'Titanium SDK/CLI'
  1. Titanium SDK/CLI
  2. TIMOB-26093

Integrate Karma unit test runner into SDK

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Medium
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: CLI, Tooling
    • Labels:
      None
    • Story Points:
      21
    • Sprint:
      2018 Sprint 15 SDK, 2018 Sprint 16 SDK, 2016 Sprint 17 SDK, 2018 Sprint 18 SDK, 2018 Sprint 19 SDK, 2018 Sprint 20 SDK, 2018 Sprint 21, 2018 Sprint 22, 2018 Sprint 23, 2018 Sprint 24, 2018 Sprint 25, 2018 Sprint 26, 2019 Sprint 1, 2019 Sprint 2, 2019 Sprint 3, 2019 Sprint 4, 2019 Sprint 5, 2019 Sprint 6

      Description

      This ticket is about integrating the titanium-karma-runner into the SDK.

      Ideally we should go with an approach like the following:

      • The above standalone Titanium Karma runner app is intended for testing libraries that are not part of any Appc project, like titanium-vdom for example.
      • For app and module projects, Introduce a new test command that will run unit tests using the Titanium Karma client. This could either be a new flag to the run command like appc run --unit or a separate command like appc test.

      What needs to be done:

      • Bundle the Titanium Karma client and place it somewhere in the SDK so it can replace a project's default app.js during unit testing. (Implemented as a node module here: titanium-karma-client)
      • Implement the appc test command. This will start a local Karma server, build the project with the altered app.js, then launches the app and passes the URL of the Karma server so tests can be executed.
      • Create the karma-titanium-launcher which will start test run execution by passing the Karma server URL to the build testing app. (Implemented as a Karma plugin: karma-titanium-launcher)
      • Nice to have: Maybe integrate with device farms?

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jvennemann Jan Vennemann
                Reporter:
                jvennemann Jan Vennemann
              • Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Backbone Issue Sync

                  • Backbone Issue Sync is enabled for your project, but we do not have any synchronization info for this issue.

                    Git Source Code