我正致力于使用Active Directory的项目。我针对AD设置了几个单元测试,其中一些是使用模拟对象实现的,其中一些是通过对AD的实际调用实现的。
作为我项目的一个功能,我必须检索一个所谓的“用户配置文件”。此用户配置文件主要包含简单属性,如“cn”,“company”,“employeeid”等。但是,我尝试填写的一个属性不是简单的“NextPasswordChangeDate”。
据我所知,获得此功能的唯一方法是获取域策略的maxPwdAge并将此信息与pwdLastSet一起使用。
现在我的问题是:我如何以智能方式对其进行单元测试?我想出了三个选项,所有选项都不是很好:
你建议三个中的哪一个?或者你有更好的选择吗?
答案 0 :(得分:0)
从1和2开始,依赖AD存在并具有已知值似乎更像是对我的集成测试。
我通常认为,如果可能的话,任何非确定性行为都应该被界面化并嘲笑(#3)。正如您所指出的,这将始终留下一些实际的实现代码,这些代码不是可单元测试的,但是将由针对已知AD系统运行的集成测试覆盖。