如何模拟服务创建的实例?

时间:2016-02-24 11:09:31

标签: java mockito

我正在使用mockito。我的服务是创建Runnable classe的实例,然后使用Spring Scheduler安排它的运行。

我想测试服务,因此验证"运行"方法被调用,但由于实例是在服务中创建的,我不能嘲笑它(或者不知道如何)。 我能怎么做?是否可以使用mockito?

2 个答案:

答案 0 :(得分:0)

很难说,因为它可能真的取决于您的服务架构,但我会尝试将Runnable实例的创建与其运行的调度分开。

这样你就有了两个不同的单位,可以更容易测试。

如果很难对您的方法进行单元测试,您可能需要拆分它们。

答案 1 :(得分:0)

我对你在这里要验证的内容感到有些困惑。服务不应该关心run被调用,而是调度程序被告知它需要做的工作。所以你应该模拟调度程序并确保它被赋予了正确的Runnable。

调用该运行是调度程序的一部分,您应该能够假定它是经过良好测试的代码,不需要您仔细检查它是否有效。