私はいくつかの外部ライブラリに貢献しようとしているプロジェクトで、テスト目的でモックデータベースマネージャーをセットアップしたことを発見しました。ただし、このデータベース マネージャーが行うことは、メモリ内データベースを作成して操作することです。これはテスト目的です。
使用するフレームワークは Jmockit です。
scalamockでそれを再現する方法を見つけようとしましたが、わかりませんでした。
これが jmockit でどのように設定されているかを次に示します。
/**
* Mocks a DatabaseManager so unit tests can be run without a real DB connection
* The code is basically the same as the original DatabaseManager but it
* establishes a connection to an in-memory database.
*
* @author pvillega
*/
@MockClass(realClass = DatabaseManager.class)
public class MockDatabaseManager {...}
scalamock でそれをサポートできるものはありますか。これは、すべてのアプリケーションがどのように開発されたかに関連していることを知っています。特に、依存性注入をどのように使用したか、または使用しなかったか。しかし、それにもかかわらず、私たちはいつかレガシーコードに対処しなければなりません:) (ほとんどの場合)
私が目にする唯一のことは、スタブのすべての機能を書いていることです。A - しかし、それは良くありません。B - また、状態を保持できるフル クラスではありません。そのため、スタブを作成している囲んでいるクラスですべてを管理する必要があります。c - 繰り返しますが、レガシー コードはクラス内で多くの面白いことを行うので、すべてのコードを再作成する必要があります... d - MockDatabaseManager を再利用したいと思います。
何かアドバイスはありますか?