3

我正在编写连接到 Active Directory 以查询和操作用户帐户的代码。此代码包括测试集。我目前正在我的家用机器上开发此解决方案,但要针对 AD 进行测试,我需要通过 VPN 连接到公司的网络。我的家用计算机不在公司域上,但我需要在域帐户下运行才能使 AD 查询正常工作。有没有一种简单的方法可以做到这一点,或者我唯一直接的选择是远程到我的公司工作站并在那里运行测试,或者将我的个人机器添加到公司的域中?

4

1 回答 1

1

我没有真正的 AD 经验,尽管这根本不是问题。事实上,这将有助于证明我的观点。

假设有一种方法可以返回组内的所有用户,如果我是你自己,在我正在开发的代码中,我会在我自己的接口后面抽象它。例如:

public class UserGroupFinder : IGroupFinder
{
    public Users FindBy(Group group)
    {
        // Code to interact with AD here
        // Note, Users and Group would be my own classes, not AD.
    }
}

然后我会针对 IGroupFinder 编写有问题的应用程序,而不是一个真正的、完全成熟的 AD 系统。这意味着我可以在家、办公室或任何地方为这个事实编写单元测试(或其他自动化测试)!

只要您的代码在找到组的所有用户后“做正确的事”,您就应该没问题。例如,您可以针对姓氏以“F”开头的所有用户过滤此查询的结果。这是您的域逻辑,与 Active Directory 无关。您将对此进行测试,而不是与第三方交互所需的代码。

最后一步是实际创建域对象的具体实例。因此,一旦您拥有一个配置了 AD 的系统,您实际上就可以开始将这些实现连接起来。我不会对此进行单元测试,因为根据这个定义,这不是单元测试。此代码只是对第三方代码的调用,将由 Microsoft 进行测试。

于 2013-02-16T13:44:50.607 回答