【发布时间】:2016-02-19 13:56:51
【问题描述】:
有类Driver,在构造函数中调用静态extern方法。这是更改架构以便能够对 Driver 方法进行单元测试的最佳方法。
public class Driver
{
[DllImport("Driver.dll")]
private static extern IntPtr CreateDriver();
// Pointer to C++ Driver object
internal IntPtr DriverPtr; // this for integration tests
public Driver()
{
DriverPtr = CreateDriver();
}
public int SomeMethod(int a) // test only this method
{
return a + 1;
}
}
【问题讨论】:
-
您如何处理
Driver类中的DriverPtr?在您的示例中,除了创建它之外,您什么都不做。 -
其实没关系。这个想法是使用单元测试来测试 SomeMethod() 。单元测试不能调用dll。
标签: c# unit-testing architecture dllimport extern