Java 使用nunit使用jni4net网桥代码运行测试

Java 使用nunit使用jni4net网桥代码运行测试,java,c#,jdbc,nunit,jni4net,Java,C#,Jdbc,Nunit,Jni4net,我正在为一个使用jni4net将java组件连接到C#的项目编写一些测试。我可以使用resharper运行测试,没有问题,但是nunit似乎无法找到所需的jar var setup = new BridgeSetup(true); string jarPath = System.Web.Hosting.HostingEnvironment.MapPath("~/bin/lib"); if (jarPath != null) {

我正在为一个使用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

我们能够找到该问题的解决方案

默认情况下,NUnit runner在单独的线程中运行测试,这意味着在java桥中,测试没有运行的线程被初始化,这导致测试无法访问need.jar文件

NUnit runner有一个命令行选项
/nothread
,用于禁止使用单独的线程进行测试。可以找到更多信息