[英]ExpectNew is not being called twice for same class
我正在使用 EasyMock 编写 junit 测试。所以对于 object:-
DataProvider dataProvider = new DataProvider(Data data , Provider provider);
所以我不得不两次模拟行为,就像这样:-
@Mock DataProvider dataProvider1, dataProvider2;
1. PowerMock.expectNew(DataProvider.class, dataRequest, provider1).thenReturn(mockDataProvider1);
2. PowerMock.replay(DataProvider.class);
3. PowerMock.expectNew(DataProvider.class, dataRequest, provider2).thneReturn(mockDataProvider2);
4. PowerMock.replay(DataProvider.class);
但是当我试图执行这个时。 这是在第 2 行抛出错误。当我删除第 3 行和第 4 行时,它毫无问题地成功了。
我需要在我的行为中使用它两次。 有人可以帮忙吗?
在相同的测试方法中,不应为相同的 class 调用两次 replay() 方法。
所以:-
1. PowerMock.expectNew(DataProvider.class, dataRequest, provider1).thenReturn(mockDataProvider1);
3. PowerMock.expectNew(DataProvider.class, dataRequest, provider2).thneReturn(mockDataProvider2);
4. PowerMock.replay(DataProvider.class);
这东西奏效了。
对 mockStatic() function 也有同样的建议。
还应该记住在一种测试方法中对 class 仅使用 mockStatic() function 一次。 所以:-
PowerMock.mockStatic(DataProvider.class);
这应该在测试方法中只使用一次。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.