2011/9/7 Charles Oliver Nutter <headius / headius.com>:
> I'll jump in with some context from the JRuby perspective.
>
> JRuby runs more tests/suites than any other Ruby implementation. We
> run the old Rubicon tests...MRI's tests...RubySpec...ruby_test...old
> minirunit tests from JRuby's past...even BFTS until a year ago or so.
> We are very sensitive to the issues of dealing with many test suites.
>
> RubySpec is by far the easiest and cleanest to:
>
> * use
> * modify
> * filter for things we don't pass yet (mspec's "tags" are
> beautiful...Brian Ford did an amazing job putting mspec together)
> * understand
>
> No other test suite even comes close to the ease of use and utility of
> RubySpec today. Because of that, we have actively (but slowly) been
> trying to transition to using only RubySpec for all our testing, and
> as Ruby behavioral bugs are reported we add them to RubySpec.

I don't think RubySpec (RSpec syntax) is beautiful.
I want to write assertion with declarative.

For example I can't find which is the expectation 4 or 5.
Fixnum#div coerces self and the given argument to Floats and returns
self divided by other as Fixnum FAILED
Expected 4
 to equal 5

> There are many reasons why tests that live solely in MRI's repository
> are problematic for other implementations:
>
> * Impl-specific tests, as Matz mentioned
> * Test harnesses specific to MRI's build
> * Inability to easily filter specific tests to get a green partial run
> * Nobody but MRI committers can contribute easily (!!!!!!!!!)
>
> A perfect example of this is the Psych library. JRuby implements Psych
> atop SnakeYAML. We reuse all the Psych .rb files as-is and only
> reimplement what would be in C. And we run the Psych tests, of which
> we have a copy in the JRuby repository.
>
> But all the issues above affect us. Some of Psych's tests have minor
> impl-specific details. They're test/unit based, so we need a test/unit
> harness to run them. There's no way to filter out any impl-specific,
> unsupported, or undefined behavior tests. And there's no way for us to
> add new tests other than submitting pull requests and praying.

What you want to say seems MRI's test-all doesn't have implementation guards.

But minitest has `skip` and we use it for platform dependent tests.
People can request test-all to add such skips but I didn't see such request.

-- 
NARUSE, Yui naruse / airemix.jp>