ExpectNew 没有被调用两次相同 class
ExpectNew is not being called twice for same class
我正在使用 EasyMock 编写 junit 测试。所以对于一个对象 :-
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 行时,它毫无问题地成功了。
而且我需要在我的行为中使用它两次。有人可以帮忙吗?
replay() 方法不应该在相同的测试方法中为相同的 class 调用两次。
所以 :-
1. PowerMock.expectNew(DataProvider.class, dataRequest, provider1).thenReturn(mockDataProvider1);
3. PowerMock.expectNew(DataProvider.class, dataRequest, provider2).thneReturn(mockDataProvider2);
4. PowerMock.replay(DataProvider.class);
这东西奏效了。
对 mockStatic() 函数也有同样的建议。
人们还应该记住在一个测试方法中只对 class 使用一次 mockStatic() 函数。
所以 :-
PowerMock.mockStatic(DataProvider.class);
这应该在测试方法中只使用一次。
我正在使用 EasyMock 编写 junit 测试。所以对于一个对象 :-
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 行时,它毫无问题地成功了。
而且我需要在我的行为中使用它两次。有人可以帮忙吗?
replay() 方法不应该在相同的测试方法中为相同的 class 调用两次。
所以 :-
1. PowerMock.expectNew(DataProvider.class, dataRequest, provider1).thenReturn(mockDataProvider1);
3. PowerMock.expectNew(DataProvider.class, dataRequest, provider2).thneReturn(mockDataProvider2);
4. PowerMock.replay(DataProvider.class);
这东西奏效了。
对 mockStatic() 函数也有同样的建议。
人们还应该记住在一个测试方法中只对 class 使用一次 mockStatic() 函数。 所以 :-
PowerMock.mockStatic(DataProvider.class);
这应该在测试方法中只使用一次。