如何使用Java Mockito 1.10.19测试构建器方法
所以我需要使用Mockito来测试builder方法。我是Mockito的新手,有人能给我一些示例代码,告诉我如何为builder方法编写测试吗 如果您想建议我更改类的设计或使其更易于测试的任何方法,请告诉我。要测试build(),您可以尝试:如何使用Java Mockito 1.10.19测试构建器方法,java,mocking,mockito,Java,Mocking,Mockito,所以我需要使用Mockito来测试builder方法。我是Mockito的新手,有人能给我一些示例代码,告诉我如何为builder方法编写测试吗 如果您想建议我更改类的设计或使其更易于测试的任何方法,请告诉我。要测试build(),您可以尝试: public class MyXML { private MessageParser messageParser; private String valueA; private String valueB; private
public class MyXML {
private MessageParser messageParser;
private String valueA;
private String valueB;
private String valueC;
public MyXML (MessageParser messageParser) {
this.messageParser=messageParser;
}
public void build() {
try {
setValueA();
setValueB();
setValueC();
} catch (Exception e) {
e.printStackTrace();
}
}
private void setValueA() {
valueA = messageParser.getArrtibuteUsingXPath("SomeXPath1...");
}
private void setValueB() {
valueB = messageParser.getArrtibuteUsingXPath("SomeXPath2...");
}
private void setValueC() {
valueC = messageParser.getArrtibuteUsingXPath("SomeXPath...");
}
public String getValueA() {
return valueA;
}
public String getValueB() {
return valueB;
}
public String getValueC() {
return valueC;
}
}
资源可能很有用-它描述了如何存根void方法调用。要测试build(),您可以尝试:
public class MyXML {
private MessageParser messageParser;
private String valueA;
private String valueB;
private String valueC;
public MyXML (MessageParser messageParser) {
this.messageParser=messageParser;
}
public void build() {
try {
setValueA();
setValueB();
setValueC();
} catch (Exception e) {
e.printStackTrace();
}
}
private void setValueA() {
valueA = messageParser.getArrtibuteUsingXPath("SomeXPath1...");
}
private void setValueB() {
valueB = messageParser.getArrtibuteUsingXPath("SomeXPath2...");
}
private void setValueC() {
valueC = messageParser.getArrtibuteUsingXPath("SomeXPath...");
}
public String getValueA() {
return valueA;
}
public String getValueB() {
return valueB;
}
public String getValueC() {
return valueC;
}
}
资源可能很有用-它描述了如何存根void方法调用。首先,测试
getValueA()
,getValueB()
,。。。它们不包含任何逻辑,只需返回一个简单的字符串使用构造函数注入messageParser
是一个很好的设计,并且易于测试。模拟messageParser
,并将其设置为在…时通过返回模拟值,然后返回…
。然后简单地断言那些在公共方法上返回的值。搜索示例。如果我模拟MessageParser,然后将MessageParser注入MyXML对象,我会得到java.lang.AssertionError:expected:但是was:236523Ah是的,修复了这个问题。谢谢您首先,测试getValueA()
,getValueB()
,…,没有任何意义,。。。它们不包含任何逻辑,只需返回一个简单的字符串使用构造函数注入messageParser
是一个很好的设计,并且易于测试。模拟messageParser
,并将其设置为在…时通过返回模拟值,然后返回…
。然后简单地断言那些在公共方法上返回的值。搜索示例。如果我模拟MessageParser,然后将MessageParser注入MyXML对象,我会得到java.lang.AssertionError:expected:但是was:236523Ah是的,修复了这个问题。非常感谢。