我想将一段使用Windows Impersonation API的代码封装到一个整洁的小帮手类中,并且和往常一样,我正在寻找一种先行先试的方法。但是,虽然WindowsIdentity是托管类,但实际上以另一个用户身份登录所需的LogonUser调用是advapi32.dll中的非托管函数。单元测试是否可以进行P/Invoke调用?
我想我可以通过引入一个接口让我的帮助类在实现中使用和隐藏P/Invoke调用,但测试该实现仍然是一个问题。你可以想象,考虑到用户实际上需要存在于系统中,实际上在测试中执行模拟可能有点问题。
这是我采用的方法,我对它很满意。但是,我仍然希望有一种方法来验证我的具体类在调用Win32 API时是否“做正确的事情”。 :) – Rytmis 2008-10-31 11:24:08
有。这就是所谓的集成测试。 – nathanchere 2014-04-02 01:01:47