我当然希望有人能够帮助缓解我的沮丧。 我正试图找到一种很好的办法,对我的“世界合作框架”服务执行类别进行单位测试,但我发现提供解决办法的每一种资源都仅限于只采用单一方法/操作的服务。
就我而言,我有一个包含几种服务方法/业务的班级。 服务班的目的是为核心应用范围内实施的行为提供接口。 因此,每种方法/行动都负责:
- accepting a Request object from the caller
- validating the object s properties
- creating an instance of the applicable Command object that carries out the operation
- mapping the Request object s properties to the Command object.
- executing the Command object
- mapping the results to a Response object
- returning the Response to the caller
此外,服务方法处理出现的任何例外情况,并退回到WCF Fault。
我们正在使用春天。 IoC (DI) and AOP。 班次在春天即时,使我们能够利用春天的参数,进行步调。 2. 否则,我们也将春.用于第三步。
大部分工作都是出色的。 然而,在为核实服务方法的行为而撰写单位测试时,我被拖走,试图排除以多种指挥物体(一种方法)处理服务依赖者的正确途径。
很显然,我没有问题 mo弄指挥物体(我们使用Moq,btw),也没有问题进行黑箱检查。 我正试图对内部逻辑进行白色盒式测试,例如核实第4步是正确的,或者如果指挥部反对放弃一个例外,该服务处就正确处理。 就这些原因而言,我使用了突击式的指挥物体。
问题在于找到一种假设情景的最好做法,即所试验物体具有多重依赖性,特别是当我只关心其中之一接受我所主持的试验时。
理论家对DI的做法只是实用的,因为我需要向建筑商提出尽可能多的论点,因为我确实在我服务上这样做(而且这可能很多)。 排他性令我感到关切,因为只有用于检测的装置才会存在,而且在许多情况下,还会有很多。
这项服务旨在将第4步引向一种虚拟方法,即,在违约时,使用普春来瞬息击指挥物体,但以继承和压倒性办法重回 mo。 但事实证明,这种情况也是不明智的。
因此,在通过在线文章展示各种解决办法之后,正如我所说的那样,仅仅反映了一种采用一种方法/操作的服务,我正在寻求某种指导,以便在处理包含多种方法和多重依赖性的实际世界服务时,采用、维持和扩大的方法。
牢记我可以不使用春天来注入模拟的突击性物体,因为我需要提及cks,以便制造和核实方法的行为。 (无需提及我的测试取决于春季是否正确工作)