Java 使用nunit使用jni4net网桥代码运行测试
我正在为一个使用jni4net将java组件连接到C#的项目编写一些测试。我可以使用resharper运行测试,没有问题,但是nunit似乎无法找到所需的jarJava 使用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) {
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
,用于禁止使用单独的线程进行测试。可以找到更多信息