Getting Ready
测试相关Maven dependency如下:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.0.3.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.9.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
关于Spring项目的一些依赖如(spring-context, spring-web, spring-webmvc, spring-beans),这里就不列举了
Example
Reference Class
Controller 如下:
@Controller
@RequestMapping
(
"/"
)
public
class
DemoController {
@Autowired
private
TestProjectService testProjectService;
@RequestMapping
(value =
"jsonCompare"
, method = RequestMethod.POST)
@ResponseBody
public
List<FieldComparisonFailure> jsonCompare(
@RequestParam
(
"expect"
) String expect,
@RequestParam
(
"actual"
) String actual, ModelMap model,
HttpSession session) {
List<FieldComparisonFailure> list = testProjectService.compare(expect, actual);
return
list;
}
}
FieldComparisonFailure类如下
/**
* Models a failure when comparing two fields.
*/
public
class
FieldComparisonFailure {
private
final
String field;
private
final
Object expected;
private
final
Object actual;
public
FieldComparisonFailure(String field, Object expected, Object actual) {
this
.field = field;
this
.expected = expected;
this
.actual = actual;
}
public
String getField() {
return
field;
}
public
Object getExpected() {
return
expected;
}
public
Object getActual() {
return
actual;
}
TestProjectService接口如下:
public
interface
TestProjectService {
public
List<FieldComparisonFailure> compare(String expect, String actual);
}
TestProjectServiceImpl 具体实现是比较两个Json字符串 返回一个List
@Service
public
class
TestProjectServiceImpl
implements
TestProjectService {
@Override
public
List<FieldComparisonFailure> compare(String expect, String actual) {
Comparator comparator =
new
Comparator();
List<FieldComparisonFailure> list =
new
ArrayList<FieldComparisonFailure>();
try
{
list = comparator.compare(expect, actual);
}
catch
(JSONException e) {
e.printStackTrace();
}
return
list;
}
}