mockito-core版本: 1.10.19
powermock版本: 1.6.6
我尝试模拟一些静态方法,但输出让我感到困惑。下面是我的代码:
class ClassWithStatics {
public static int getNextInt() {
return getInt() + 1;
}
public static int getInt() {
return 1;
}
public static long getTime() {
return System.currentTimeMi
我有一个User类:
public class User {
private Long id;
private String ssn;
private float height;
private float weight;
}
和一个UpdateUserDTO类:
public class UpdateUserDTO {
private float height;
private float weight;
}
和一个UserDTO类:
public class UserDTO {
private Long id;
private float h
假设您有方法someMethod,您将如何通过它来测试它?
Mockito.when(someClass.someMethod(someParam)).thenReturn(someValue);
var bar = foo() // SUT: ends upp calling someMethod somewhere in the stack
assertThat(bar).isEqualTo(someValue);
vs
Mockito.when(someClass.someMethod(someParam)).thenReturn(someValue);
var bar = foo()
我想测试一个方法,该方法获取一个以信息为参数的对象:
//mocking a user object with some random data
User user createMockUser(loginName, firstName, lastName, salutation, company, mailAddress);
//do something with that user object
foo(user);
测试的重点是测试foo(用户)。
使用createMockUser()的这些变体:
使用when函数:
protected User createMockUser(Stri
我正在尝试使用Mockito.when和doReturn()来模拟方法createInstanceB。这总是调用real方法。例如:
Class A {
public B createInstanceB(any, any) {
B b = new B();
b.api();
}
}
我使用下面的方法导入org.mockito.Mockito;导入静态org.mockito.Mockito.*;
Class ATest {
A a;
B b;
@Before
Public void setup{
a = A.getInstance();
我有一个类,THAT.class,如下所示:
class THAT {
int aVar;
}
实际上,我想模拟一个类的方法,冰毒,这个,以类作为参数。作为返回,我希望该类的变量aVar如下所示:
Mockito.when(THIS.METH (Matchers.any(THAT.class), ).thenReturn(THAT.aVar);
我怎么能意识到这一点?
我对Mockito非常陌生,我没有得到下面的示例(提供了类,只是编写测试)以及如何解决它。我要做的是为供应商使用一个测试双,这样我们就可以在测试中控制返回的问候语,并断言GreetingService不会以任何方式修改问候语。然后断言返回的问候语字符串等于"Hello“。
public class Greeting {
private final String template;
public Greeting(String template) {
this.template = template;
}
public String f
我是莫奇托图书馆的新手,被困在某个地方。
问题是,当我模拟Spring jpaRepository的保存方法时,我总是获得null。我在我的项目中使用这样的代码,但是为了测试,我做了一个测试的虚拟代码。这是我的代码:
// This is the class for which I am making test case
@Service("deviceManagementService")
@Scope(BRASSConstants.SCOPE_SESSION)
@Transactional
public class DeviceManagem
我正在尝试设置用于测试的会话,但我得到的是NullPointerException。我试过几种方法,但都不能成功。
class Test {
public void testOne() {
HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true);
session.setAttribute("test", someValue()); //session value is null
我试图为静态方法添加一个测试类:
class SomeClass {
public static int getLoginPage() {
if (otherStaticMethod()) {
return Screen.FOO;
}
return Screen.BAR;
}
}
注意FOO和BAR的值差为零。
我的考试课:
@RunWith(PowerMockRunner.class)
@PrepareForTest({SomeClass.class})
public class SomeClass_getLoginPage {
@Te
我有课
@Service
@RequiredArgsConstructor
public class UserService {
private final WalletService walletService;
public void increaseBalance() {
walletService.increaseBalance();
}
}
@Service
@RequiredArgsConstructor
public class WalletService {
public void increaseBalance() {}
}
考
我有一门简单的课,用的是无效方法。
public class Simple {
public Void doSomething() {}
}
在调用doSomething()之后,我想在测试中增加一个数字。
@Test
public void test1() {
int number = 0;
Simple simple = Mockito.mock(Simple.class);
Mockito.when(simple.doSomething()).then(number++);
}
当然,这会导致编译错误。如何在调用number后增加doSomethi
我有三种方法
无效保存(字符串a,字符串b)
字符串getId(字符串a,Pojo p)
无效更新(字符串a、字符串b、StringEntity c)
以下是实现(不是完全实现),
String getId(String accessToken, Pojo p) {
//Note that the pojo is for formatting the payload for the request, nothing more
HttpResponse response = httpRequestService.makeGetRequest(url, TO
我在我的测试类中有多个模拟语句,一切都很好。我将为DAO模拟添加一个新语句,如下:
Mockito.when(myDAO.saveOrUpdate(Mockito.any())).thenReturn(Mockito.any());
But I get exception as :
org.mockito.exceptions.misusing.InvalidUseOfMatchersException: Invalid use of argument matchers!
我使用了参数匹配,而不是原始值,所以我没有混合anything.What可以在这里吗?