Last week, I talked about my external contribution and the trouble I had with setup. This week, I performed my contribution to our internal project: Seneca Telescope. I wanted to work on an aspect of the project that I had not dabbled in before, so I chose to restructure some code in order to create fixtures. So here's a quick recap of the work I did for this week's release 0.4 contribution.
You can find the issue here, and my PR here, which has been successfully merged into Telescope's main branch.
Internal Contribution - Adding Fixtures to Telescope
In this context, fixtures refers to elements in a software project that are used to create a reproducible testing environment. In the case of project Telescope, there are certain components of the web app that parse RSS and Atom feed URLs in order to derive the contents of a blog. In order to test these components, we created a "dummy" blog account that produced a very specific feed output when parsed. Since we know what output to anticipate, we can use the dummy blog to test the various parsing components of Telescope. You can, in fact, visit the dummy blog here - it doesn't have very much on it, which is kind of the point. The code that is used to parse the dummy blog URL, as well as the expected contents of the parsed feed, are repeated and used in many places of our test suite. User ragnarokatz of our Telescope project suggested that we take these repeatable portions of code and incorporate them into a separate fixtures module, which can then be shared and used across any future tests that require them. The idea is that, on top of this particular test situation, the fixtures module would also continue to encapsulate any future code resources that can be used to recreate specific environments for testing purposes. The idea came from the bull project, a queue system for Node.js that we are already using for Telescope, and the fixtures that are used in bull's own testing suite. I took up the issue to create the fixtures module, and also move all the repeatable code involving the dummy blog feed.You can find the issue here, and my PR here, which has been successfully merged into Telescope's main branch.
Comments
Post a Comment