XMLWordPrintable

    Details

    • Type: Sub-task
    • Status: OPEN
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Announcements, Kernel
    • Labels:
      None
    • Test Plan:
      Hide

      This is about testing – provided we stay green and regular development / QA can carry on in master, we're in good shape.

      Show
      This is about testing – provided we stay green and regular development / QA can carry on in master, we're in good shape.

      Description

      Many of the integration tests in the tool layer have extensive mocking and workarounds. Even though they will run somewhat slower, my interest is in making it easy to test against a fully bootstrapped kernel with an in-memory database.

      The strategy behind this is that it's exceedingly difficult to mock everything that one of these giant Action classes uses, and then your tests aren't really verifying production code, so we should test against the real objects. With enough generic support code, it should be practical to set up test data builders and cover the core features. Once a feature is covered, we can refactor the pieces out, unit test them, and decide whether to trim down the feature tests or not. Either way we will need tests at our backs to do the kind of work planned with session state, and the more real they are, the better, barring browser automation.

      I have done enough research to believe there is a pretty straightforward path to having a kernel that can start up and shut down per integration test case, making it easy enough to separate them by feature and keep fixture data focused. It should also be easy to inject services wherever they are needed to aid in offloading some of the tangled dependencies.

        Gliffy Diagrams

          Zeplin

            Attachments

              Activity

                People

                Assignee:
                noahbotimer Noah Botimer
                Reporter:
                noahbotimer Noah Botimer
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                  Dates

                  Created:
                  Updated:

                    Git Integration