我正在使用mockito。我的服务是创建Runnable classe的实例,然后使用Spring Scheduler安排它的运行。
我想测试服务,因此验证"运行"方法被调用,但由于实例是在服务中创建的,我不能嘲笑它(或者不知道如何)。 我能怎么做?是否可以使用mockito?
答案 0 :(得分:0)
很难说,因为它可能真的取决于您的服务架构,但我会尝试将Runnable实例的创建与其运行的调度分开。
这样你就有了两个不同的单位,可以更容易测试。
如果很难对您的方法进行单元测试,您可能需要拆分它们。
答案 1 :(得分:0)
我对你在这里要验证的内容感到有些困惑。服务不应该关心run
被调用,而是调度程序被告知它需要做的工作。所以你应该模拟调度程序并确保它被赋予了正确的Runnable。
调用该运行是调度程序的一部分,您应该能够假定它是经过良好测试的代码,不需要您仔细检查它是否有效。