【发布时间】:2016-01-20 09:01:52
【问题描述】:
我正在构建一些基础架构来测试一组使用各种金融工具的定价引擎。我的问题是我基本上有 3 层基础设施,并且不知道以 OOP 方式组织这个基础设施的最合适的方式是什么。
解释我目前的设计:
-
一个单独的TestClass
PricingEngineTests-
方法
createStuff()其中:- 初始化一些测试工具对象
A,B,C,...,Z - 这些测试对象以各种独特组合作为参数传递,以初始化测试金融工具对象
1,2, ...,50
- 初始化一些测试工具对象
-
为每个相应的定价引擎提供单独的测试方法,其中:
- 致电
createStuff() - 使用测试工具对象
A到Z和金融工具1到50的独特组合来初始化特定定价引擎的对象 - 随后使用创建的定价引擎对象对相应定价引擎的方法执行测试
- 致电
-
现在我的问题是每一个测试方法都必须调用createStuff(),这需要一些时间来构建所有A到Z和1到50只到每次都使用它创建的基础架构的一些更小的独特子集。对我来说,这显然是我设计中的一个缺陷。
这种设计结构背后的逻辑是,我可以相互独立地测试每个定价引擎,而无需通过完全废弃 createStuff() 在每种测试方法的开头重复大量创建基础设施的代码。
我知道我的设计很差,但是我不知道如何以面向对象的方式修复它……我怎样才能更有效地构建这个基础架构,以便我可以独立测试每个定价引擎?
【问题讨论】: