1

jni4net を使用して Java コンポーネントを C# にブリッジするプロジェクトのテストをいくつか書いています。問題なく resharper を使用してテストを実行できますが、nunit は必要な jar を見つけることができないようです

        var setup = new BridgeSetup(true);
        string jarPath = System.Web.Hosting.HostingEnvironment.MapPath("~/bin/lib");
        if (jarPath != null)
        {
            setup.AddAllJarsClassPath(jarPath);
        }
        setup.BindStatic = false;
        Bridge.CreateJVM(setup);
        string jdbcUrl = "jdbc:somedriver:localhost";
        _conn = DriverManager.getConnection( jdbcUrl );

エラーはDriverManager.getConnection()、指定されたパスにある jdbc ドライバーを探すときに発生します。~/bin/lib

4

1 に答える 1

0

問題の解決策を見つけることができました。

デフォルトでは、NUnit ランナーは別のスレッドでテストを実行します。つまり、Java ブリッジでは、テストが実行されていないスレッドで初期化されていたため、テストが必要な .jar ファイルにアクセスできませんでした。

/nothreadNUnit ランナーには、テスト用の別のスレッドの使用を抑制するコマンド ライン オプションがあります。詳細はこちら

于 2015-01-16T16:20:21.227 に答える