我正在为我公司的软件产品设计一个新架构。我对单元测试相当陌生。我读了一些关于使用单例和静态方法的恐怖故事,但我并不清楚使用它们的问题,希望能得到一些启发。
这是我正在做的事情:
我有一个多层架构。在服务器端,我使用一系列可重用的对象来表示数据库表,称为“处理程序”。这些处理程序使用其他对象,如 XMLObjects、XMLTables、不同的数据结构等。其中大部分是自制的,而不是您预先打包的对象。无论如何,在这一层之上是一个伪单层。这样做的主要目的是简化更高级别的服务器端代码并创建无缝的类管理。我可以说:
$tablehandler = databasename::Handler('tablename')
...得到一张桌子。我没有看到这个固有的问题。我正在使用一堆处理程序(一个关联数组)来包含不同对象的实例。我没有使用全局变量,所有静态数据成员都是受保护的或私有的。我的问题是这如何导致单元测试出现问题。我不是在寻找时髦的修辞,我在寻找因果关系。我也将不胜感激对此的任何其他见解。在这一点上,我觉得它是一个非常灵活和高效的架构。这里的任何帮助都会很棒。