@Mock
private Randomizer r;
@Mock
private Random random;
@InjectMocks
private NodeGenerator ng = new NodeGenerator();
@Test
public void nodeIsDuplicate() {
when(r.getRandom()).thenReturn(random);
when(random.nextInt(2)).thenReturn(1);
[...]
}
when(r.getRandom().nextInt(2)).thenReturn(1);
不需要模拟随机,所以我可以用我的随机器模拟在一行上完成所有的事情?
你想要Mockito的一个班轮存根。
编辑:
经过更仔细的检查,这可能不是你正在寻找的,但它可以减少一些锅炉板代码为你。
Randomizer randomizer = mock(Randomizer.class, RETURNS_DEEP_STUBS);
when(randomizer.getRandom().nextInt(2)).thenReturn(1);
我有一个类,它有两个方法。我想模拟这个类,然后模拟第一个方法,但不是第二个。 例如。 单元测试代码: 奇怪的是m2没有被调用。 我错过什么了吗?
我正在用Mockito为一个项目设置jUnit测试。在被测系统(DrawingService)中调用方法时遇到问题。模拟包括图形和IDrawingRepository。 我不熟悉TDD、单元测试和一般的模拟,所以我可能犯了一些noob错误?任何帮助都将不胜感激。 以下是测试课程: 以下是正在测试的系统:
我有一个包含可重用方法的键类。我尝试用两种方法使用WebElement。他们在一起。我知道失败的是webelement,因为我可以在没有两种方法的情况下对其进行编码,而且效果很好。当调用包含webelement的方法时,如何正确地执行此操作而不会失败?(无此类元素例外) 公开类密钥{ 另一个类使用如下内容:
我需要使用FFMPEG随机选择时间(例如0:10),并将两个连续的帧保存为PNG。 产出: 问题 如何确定下一帧?帧率120/1意味着每秒120帧? 编辑 它能保证下一帧吗?还有其他办法吗?
异常堆栈跟踪
此代码在控制台中有以下输出: Method1 Method2 Method3 而我希望它是 Method1 Method2 Mock method3 方法3被嘲弄了,那么为什么它没有被调用呢?