JUnit への悪口が褒め言葉に変わる話

ヘンだと思ったんだよなぁ。

Python 2.x 翻訳の unittest モジュールにこんな翻訳があった:

JUnit では、多数の小さなテストケースを同じテスト環境で実行する場合、全てのテストについて :class:`DefaultWidgetSizeTestCase` のような :class:`SimpleWidgetTestCase` のサブクラスを作成する必要があります。これは時間のかかる、うんざりする作業ですので、 :mod:`unittest` ではより簡単なメカニズムを用意しています::

つまり JUnit への悪口になってるわけね。なんだかんだワシだって Java を何年も本業でやってたんで、初見でもなんかヘンだという違和感はあった。今回翻訳を見直してる中で原文をみて訳しなおしてみたらこうなった:

多数の小さなテストケース群が同じフィクスチャを使うことは良くあります。今の場合だと私たちは結局 :class:`SimpleWidgetTestCase` を派生して、 :class:`DefaultWidgetSizeTestCase` のような小さくて一つだけメソッドを持つクラスをたくさん作る必要があるところでした。これは退屈で時間のかかるものです。ですから JUnit と同じようなやり方で、 :mod:`unittest` ではより簡単なメカニズムを用意しています::

ヲィ。原文は最初に書かれてから今の今まで一度も変更されてない:

Often, many small test cases will use the same fixture. In this case, we would end up subclassing :class:`SimpleWidgetTestCase` into many small one-method classes such as :class:`DefaultWidgetSizeTestCase`. This is time-consuming and discouraging, so in the same vein as JUnit, :mod:`unittest` provides a simpler mechanism::

全体的に unittest 部分の翻訳、ほかと較べても過激な意訳が多いんだけど、誤訳はダメでしょ。ましてやそれが他の言語の悪口になっちゃうようなものなら。多分「, so in the same vein as …」がどこにかかってるのかを読み間違えたんだろうなぁ。

なお、この修正訳がサイトに上がるのはちょっと時間かかります。(2.7 は全体が Transifex 化してない関係でイレギュラーなの。)