-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Add minimal tests #22
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
Comments
Manim has never had any tests and is pretty much always broken. That's just the way we've been doing it so far. Not to say that it makes any sense at all, but if the code sort of looks reasonable to you it's already up to the current manim standard, so you shouldn't feel too scared to change it. That said those tests would be a big help. |
That's a great idea. I take care of that |
#28 doesn't improve the testing situation over running the example scenes manually. The goal is to write a suite which can be run in pytest, nose2, or the like in order to ensure basic functionality. |
As per #86, there is now a (very very minimal) set of tests in place with pytest. I will close this in favor of all the other issues already mentioning tests. |
Before starting any major changes (including high priority ones such as #6), we need a way of testing that our changes do not break the basic functionality of the library. Simply put, I'm afraid to move or touch some files as it is unclear to me whether something will break.
For this, I suggest we start with minimal tests that consist in compiling a handful of scenes, put them in a new file called
test/test_example_scenes.py
, and we run the test by manually running manim over them. If the scenes look the way they should, then we are good to go. These scenes can be the ones that currently live insample_scenes.py
, for example.Of course, this is no replacement for a full testing framework, but it should at least be a minimal guarantee that our coming changes are not completely screwing up the library.
The text was updated successfully, but these errors were encountered: