Introducing Testing · Issue #3579 · InstaPy/InstaPy · GitHub
Skip to content

Introducing Testing #3579

Open
Open

Description

@timgrossmann

In order to make sure that our code base keeps working and new features don't break existing behaviour, we need to introduce tests into the code base. Having a good test coverage also allows us to find problems with changed HTML elements quicker.

Advantages of this feature:

  • Finding code breaks quicker
  • Less time needed to review PRs and fixes
  • Integration ready for release GitHub pipeline

Possible ways of achieving this while keeping control:

  • Starting to add tests for all the features that are deployed starting from now on
  • Slowly covering the most important and most used features with tests

Bountysource this Issue


Feel free to comment with adjustments and improvements

Activity

  1. pinned this issue on Jan 11, 2019
  2. eracle commented on Feb 10, 2019

    @eracle

    Hello everyone,
    the main point here is to test that by modifying Instapy through a PR the project doesn't break. The tests will be performed by assuming that Instagram's behavior doesn't change over time. Then possible improvements will be: code refactoring, bug fixes and new features.
    An interesting usable tool cold be MockServer through its ability to record responses from a web server (in our case Instagram) and mime them on later off-line tests.
    A hypothetical implementation could leverage a docker-compose environment to launch the test battery and a set of implemented functional tests, after that, it will easier to refactor the project, and as I suggested some time ago, to separate the project in two modules: the interface toward Instagram and the behavior that drives Instapy's automated actions. By doing so, it will be possible to reuse the first feature also on other projects like: instagram-profilecraw.
    Let's have some brainstorming, and if is there anyone with experience with MockServer, it would be cool to get in touch with, I can definitively implement the docker-compose testing environment.
    Regards

  3. mwargan commented on Sep 12, 2019

    @mwargan

    @timgrossmann this needs to be top priority.

    Recent changes have caused massive outages and breaks in code for a lot of people, including me. This is causing some people to flee elsewhere as evident by recent issues opened.

    I suggest that from here on out, until this is done, only possibly the selenium selectors (as in which HTML elements to select to find the login button, for example) are updated.

    Also, massive changes like removing Chrome really need more fore-warning - why was this even done?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions