我在 C# 中创建了一个 UnitTesting 项目并面临一些问题。
首先,我想做一些在开始时应该只发生一次的 Connect 功能。之后,我试图从 Excel 文件中读取一些记录并测试一些插入操作,并且每次插入发生时 TestCleanUp() 在调用该构造函数然后调用 Initialize 方法后被触发。我不希望构造函数在每条记录仅插入一次后触发。我很困惑将我的 Connect 功能放在哪里以及如何避免每次都调用构造函数。
[TestClass]
public class TestConnection
{
private TestContext testContextInstance;
private static iCAM70003SDKC o_DeviceControl = null;
/// <summary>
///Gets or sets the test context which provides
///information about and functionality for the current test run.
///</summary>
public TestContext TestContext
{
get
{
return testContextInstance;
}
set
{
testContextInstance = value;
}
}
[ClassInitialize()]
public static void Initialize()
{
int iResult = 0;
EOperationalMode OperationalMode;
}
现在我可以按照建议在 ClassInitialize 中建立初始连接。现在,当我在 ClassInitialize 中创建我的 COM 对象的实例时,现在正在建立初始连接。现在我有不同的测试方法要测试。现在,当我运行我的程序时,在执行第一个测试方法“无法使用已与其底层 RCW 分离的 COM 对象”后出现异常?
我猜当它试图执行第二个测试方法时 COM 对象被破坏了。如何保持这个 COM 对象活着?我不是在调用 ReleaseCOMObject。