[英]Class initialization on C# Unit Test fails
单元测试新手。 我需要启动一个名为 SolidWorks 的应用程序并加载一个文件。 我的初始化不会运行。 我收到错误:
类初始化方法 UnitTestProject1.SolidWorksPartTests.MyClassInitialize 抛出异常。 System.IO.FileNotFoundException:System.IO.FileNotFoundException:无法加载文件或程序集“SolidWorks.Interop.sldworks,版本=27.1.0.72,Culture=neutral,PublicKeyToken=7c4797c3e4eeac03”或其依赖项之一。 该系统找不到指定的文件..
我肯定知道那里有参考资料。 我认为这与静态引用有关。 我的代码如下所示:
private TestContext testContextInstance;
private static IModelDoc2 model;
private static SolidWorksPart solidWorksPart;
private static ISldWorks app;
[ClassInitialize()]
public static void MyClassInitialize(TestContext testContext)
{
string testFolderLocation = @"C:\Users\erics\source\repos\XXXXXXXXXXXX\UnitTestProject1\TestFileFolder\";
var progId = "SldWorks.Application";
var progType = System.Type.GetTypeFromProgID(progId);
app = System.Activator.CreateInstance(progType) as ISldWorks;
app.Visible = false;
string testFilePath = testFolderLocation + "FF99999 Circle.SLDPRT";
int errors = 0;
object importData = new object();
app.LoadFile4(testFilePath, "", importData, ref errors);
model = (IModelDoc2)app.ActiveDoc;
solidWorksPart = new SolidWorksPart(model);
}
我的类初始化有什么问题?
编辑构造函数或类初始值设定项均不运行。 不过,我之前创建的测试确实可以运行。
我相信我发现了问题。 我正在测试的项目中有一个设置。 它是在“属性->调试->启动操作”上找到的。 我将此设置为启动外部程序以在调试时启动 Solidworks。 我将其更改为“启动项目”。 它似乎已经解决了这个问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.