Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introducing Testing #3579

Open
timgrossmann opened this issue Dec 13, 2018 · 2 comments
Open

Introducing Testing #3579

timgrossmann opened this issue Dec 13, 2018 · 2 comments

Comments

@timgrossmann
Copy link
Collaborator

timgrossmann commented Dec 13, 2018

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
@eracle
Copy link

eracle commented Feb 10, 2019

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

@mwargan
Copy link

mwargan commented Sep 12, 2019

@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
Projects
Level Up Dev
  
To do
Development

No branches or pull requests

3 participants