C# 如何使用Petrel演示项目运行海洋测试

C# 如何使用Petrel演示项目运行海洋测试,c#,ocean,C#,Ocean,我正在尝试运行一个海洋测试框架测试,在这里我打开了Petrel 2011演示项目。但是,当我使用PetrelSystem.ProjectService.OpenPrimaryProject()打开项目时,我收到以下错误消息,测试被中止: Error: File EclipseNamesToPropertyTypeCatalog.xml not found in the installation File EclipseNamesToPropertyTypeCatalog.xml not foun

我正在尝试运行一个海洋测试框架测试,在这里我打开了Petrel 2011演示项目。但是,当我使用
PetrelSystem.ProjectService.OpenPrimaryProject()
打开项目时,我收到以下错误消息,测试被中止:

Error: File EclipseNamesToPropertyTypeCatalog.xml not found in the installation
File EclipseNamesToPropertyTypeCatalog.xml not found in the installation
Slb.Ocean.Petrel.ProjectOpenException : Could not open the project.
----> Petrel_Framework_NS.TestAssertionException : File EclipseNamesToPropertyTypeCatalog.xml not found in the installation
at Slb.Ocean.Petrel.Core.Impl.Core.ProjectService.OpenPrimaryProject(String projectPath)
at Slb.Ocean.Petrel.ProjectService.OpenPrimaryProject(String path)

是否有解决此问题的方法?

EclipseNameStopPropertyTypeCatalog.xml与Petrel一起部署在xml文件夹下。显然,工作目录不同,因此找不到该文件。

这只是一个注释,但我需要50个代表

直接使用nunit.exe(从Petrel安装文件夹)运行测试时,它是否有效


您的测试或项目是否涉及Eclipse?如果没有,您可以从petrel.exe.config注释掉与Eclipse相关的模块。不是解决方案,而是建议的解决办法。

您不需要解决办法。为了运行演示项目,您需要正确配置petrel环境变量,以便它们打开预先配置的演示项目


这可以通过将PetrelTestProjectRoot和PetrelTestProjectEnvironment变量设置为适当的路径来实现

这是关于Visual Studio测试员的回答(未在Resharper测试员上验证,但本质应该类似)

看起来Petrel根据调用程序集路径加载这些.xml文件,例如,如果测试人员正在加载Petrel,则这些文件需要与测试人员位于同一路径中

解决方法之一是将文件复制(或创建符号链接)到tester exe的文件夹中。例如,在VS2012中:


这也适用于其他版本的Visual Studio。

我正在使用Resharper运行测试。在Resharper选项对话框中,我指定测试应该从C:\Program Files\Schlumberger\Petrel 2011运行。我已经在代码中验证了这实际上是Environment.CurrentDirectory。xml文件是如何定位的?Ocean2011在家使用吗?还有其他建议吗?