我主要在 Windows / .NET 系统中工作。我用 C# 编写了一个测试框架,其中包括一个运行固定装置(任何实现 ITestFixture 接口的东西)的测试工具。这些夹具是我的框架和 SUT(被测系统)之间的接口,有时它们依赖于 SUT 方法或对象。我的框架中没有其他内容取决于 SUT 的代码。我正在测试多个项目,它们之间的关系相对较小,并且随着时间的推移会越来越多地进行测试。
现在,我在 .NET 中有一个测试解决方案,其中包含我所有的测试框架代码。. . 以及所有的装置,以及它们的所有依赖项。结果是一个具有大量依赖项的巨大测试框架解决方案。从长远来看,这似乎不是一个很好的做事方式。
我们正在讨论的另一种选择是让我创建一个“Common.Test”项目,该项目基本上包括固定装置的接口,也许还有一些实用功能。然后,开发人员将包含一个“SUT.Test”项目(其中 SUT 是被测系统的名称),其中包括他们的固定装置并依赖于 Common.Test 项目。夹具将作为其解决方案的一部分进行编译,测试工具将从其 .dll 文件中动态加载夹具。
对于有经验的自动化测试人员来说,这些选项中的任何一个(测试解决方案中具有大量依赖项的夹具,或 SUT 代码中由线束动态加载的夹具)听起来是否比其他选项更好?还有其他我遗漏的选项应该考虑吗?如果您使用固定装置,您的团队会做什么?