Open hieueastagile opened 7 years ago
@catriuspham @NhanHo @nhanb @steadykhoi @anhhuy165 @hotay
I have a plan to init django-robber
soon, as guiding @loctvEA around with his BookStore, I have quite a few expectations
to implement.
@catriuspham Ok, please suggest a name for a new project, I can implement the new architecture there pretty soon
@hieueastagile If it's about a name to replace robber
, I'm thinking of suppose
which is a synonym of expect
. Then we can have suppose-django
, suppose-mock
...
Currently, the framework do not support the plugin architectures, all changes needed must be implemented in robber.py main repository. This leads to the issue that the detail implementation would be very messy if it needs to handle multiple kind of data structure, and the extensibility of the project is limited.
For example, for
eq
matcher, the explanation should need to deal specifically with dict, list, and if we want to extend the framework to handle new kind of data structure (pandas' DataFrame for example), it would be very painful.So, I think we might need another flexible architecture to address this issue, and it could be the 2nd version of robber.py, which the plugins can be implemented in our own repo. What do you guys think? Is there any possible solutions? The idea is that the framework should do something similar to rspec in Rails, they have rspec-core (for builtin data structure), then for each of special case, they have other plugins to handle it, ex: rspec-mock?