在vc中,测试dll中的接口,该如何解决
在vc中,测试dll中的接口
操作系统:Windows xp(jp)
测试工具:cppunit vc6.0
问题:我的dll只有一个接口函数。我想用cppunit对这个dll进行单元测试。但是,我只能测试这个接口函数,却不能进入这个接口所调用的类及一些函数。
怎么样做才能进入到这个接口函数的内部??
(.dll)中的(.def):
EXPORTS
DllGetDWExtModule @1 PRIVATE
测试函数:
testGetDll(){
d1 = ...//初始化
d2 = ...//初始化
HRESULT r;
typedef HRESULT (__stdcall *PFUN)(REFCLSID rclsid, REFIID riid, LPVOID* ppv);
HINSTANCE hinstance = ::LoadLibrary( "dwextwebfolder.dll ");
PFUN newfun = (PFUN) ::GetProcAddress(hinstance, "DllGetDWExtModule ");
r = newfun((REFCLSID)d1, (REFIID)d2, p);
CPPUNIT_ASSERT(r==NOERROR);//if success return NOERROR(0)
::FreeLibrary(hinstance);
}
------解决方案--------------------
将DLL更改为DEBUG模式,选择外部应用为你做好的测试调用程序,直接调试DLL
操作系统:Windows xp(jp)
测试工具:cppunit vc6.0
问题:我的dll只有一个接口函数。我想用cppunit对这个dll进行单元测试。但是,我只能测试这个接口函数,却不能进入这个接口所调用的类及一些函数。
怎么样做才能进入到这个接口函数的内部??
(.dll)中的(.def):
EXPORTS
DllGetDWExtModule @1 PRIVATE
测试函数:
testGetDll(){
d1 = ...//初始化
d2 = ...//初始化
HRESULT r;
typedef HRESULT (__stdcall *PFUN)(REFCLSID rclsid, REFIID riid, LPVOID* ppv);
HINSTANCE hinstance = ::LoadLibrary( "dwextwebfolder.dll ");
PFUN newfun = (PFUN) ::GetProcAddress(hinstance, "DllGetDWExtModule ");
r = newfun((REFCLSID)d1, (REFIID)d2, p);
CPPUNIT_ASSERT(r==NOERROR);//if success return NOERROR(0)
::FreeLibrary(hinstance);
}
------解决方案--------------------
将DLL更改为DEBUG模式,选择外部应用为你做好的测试调用程序,直接调试DLL