为Windows DLL文件编写测试代码所需的最小源访问权限是多少



因此,在我工作的地方,测试团队和开发团队之间存在这种划分。主要问题是测试团队没有访问应用程序的源代码,因此所有组件的测试都必须通过用户界面手动或通过UI Automation软件完成,其中大部分都是我在这里编写的。缺乏访问权限的原因是为了给测试团队访问权限以及强制执行独立测试而必须发生的Perforce许可证成本,我在这里不是为了论证原因。

然而,应用程序的许多功能被分离到DLL文件中,而不是包含在单个可执行文件中。我还碰巧知道,每当进行构建时,运行的脚本也会使用Doxygen生成文档,其中包括所有类接口的详细信息。

所以我想知道,如果能够访问这些DLL文件和Doxygen文档,这是否足以针对DLL外部接口编写单元测试,或者是否需要访问它们的头文件来完成这项工作,甚至可能需要额外的资源?那么,我们将如何进行最小的方法呢?

编译器需要能够绑定到外部接口,因此,除非它们都包含某种形式的特殊接口,对于每个DLL来说都是完全相同的,否则您至少需要定义将从每个DLL(任何自定义类或结构)使用的函数的头,以及编译器要链接的lib文件。

它可以在不使用任何一个的情况下完成(只使用文档),但工作量会成倍增加,因为使用LoadLibrary需要使用大量的GetProcAddress调用,并且您需要确保要测试的每个函数/类/接口都被导出。