Sequel has been using RSpec since before I was maintainer.   Over the 
years, I've added support for newer versions of RSpec, but Sequel has 
always run correctly with RSpec 1.3, and I haven't found newer RSpec 
features added much value for me.

After learning more about minitest/spec, I found it fit my testing 
philosophy better, and after reading most of the code, I've found it simple 
and easy to extend.  After switching all of the other libraries and 
applications I maintain to minitest/spec, I've spent the last few days 
switching Sequel over to it as well.

This was not just a simple syntax replacement.  minitest randomizes test 
output by default, which exposed a large number of test order dependency 
bugs in Sequel's specs, which I had to fix.  In most cases, I could 
determine the fix fairly easily based on the error, but in some cases I 
used minitest_bisect to bisect the error and give me a minimal 
reproduction, which made it easy to fix.To be fair, the next version of 
RSpec will have support for bisecting built in, and I RSpec has supported 
randomized tests since 2.8.0, though it is still not the default. 

After switching to minitest/spec, in addition to being higher quality due 
to the randomized order, the specs also run a bit faster, which is a nice 
bonus.

I did have to create a couple minitest extensions to add features to 
minitest that it doesn't support natively (mintiest-hooks for before/after 
:all hooks, minitest-shared_description for shared spec subclasses), but I 
had a very easy time developing them.  You now only have to install 3 gems 
to test Sequel, as opposed to the 6 pulled in by rspec, and the gems are 
smaller (84KB vs 338KB).

As this is just a changing of the spec library, this will not have an 
effect on Sequel users.  However, it should make it easier to contribute to 
Sequel, since you will no longer need to make sure specs pass on multiple 
versions of RSpec.

Thanks,
Jeremy

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.

Reply via email to