私はこのScalaの問題に関してあなたの助けが必要です。キャストせずにScalaのテストでprivate varsにアクセス
私はクラスの階層を持っています:すべての車両の共通変数のみを持ち、次に3つのサブクラス:車、トラック、MotorCycleを持つ車両です。私はそれをテストする必要がある場合
がobject Transformation {
def someTransformation(vehicle:Vehicle):Vehicle = {
vehicle match {
case Car(<<<vars>>>) => Car(<<< transformed vars>>>)
case Truck(<<<vars>>>) => Truck(<<< transformed vars>>>)
case MotorCycle(<<<vars>>>) => MotorCycle(<<< transformed vars>>>)
}
}
}
私の問題は、私は(車を返却していては、ミックスインを言うことができます、次のとおりです。 私は車両の種類に依存し、いくつかの変換を行うために補助オブジェクトメソッドでパターンマッチングを使用しています)、私は関与している車両のプライベートvarsにアクセスするために表示されるたびにキャストする必要があります。 私はこのコードをそのまま残し、テストではキャスティングなしでプライベートメンバーにアクセスします。私がparamとして受け取った車両は、私が返す車両と同じタイプであることを知っています。 これはジェネリックで対応できますか?
よろしくお願いいたします。
私はあなたが本当にちょうどサブクラス特異的、 'クラスのprivate'メンバーを意味するものではありません推測していますか? – Kraylog
Nimrod Argov –