有没有办法构建一个组合的Hamcrest匹配器来测试对象和该对象的属性? - 伪代码:
//index.js
var middlewares = require('./middlewares');
var app = require('./app');
module.exports = app;
//i want to change to this
app.use(middlewares.endusersApi);
app.use(middlewares.endusersWebapp);
//Stuff for creating server and listening...
//middlewares/index.js
var middlewares = {
endusersApi : require("./apis/endusers"),
endusersWebapp : require("./webapps/endusers")
}
module.exports = middlewares;
//middlewares/apis/endusers.js
//TODO
//middlewares/webapps/endusers
//TODO
背景:我有一个JUnit测试,它迭代一组动态对象。每个对象在处理时都会抛出异常。收集例外情况。预计测试将以包含这些抛出异常的集合的MultipleFailureException结束:
TODO
答案 0 :(得分:4)
我认为您可能正在寻找hasProperty或hasPropertyWithValue
请点击此处查看示例:https://theholyjava.wordpress.com/2011/10/15/hasproperty-the-hidden-gem-of-hamcrest-and-assertthat/
我之前使用过的另一个例子;在这里,我们检查是否有Quote
方法getModels()
返回PhoneModel
的集合,集合中的一个项目的属性makeId
等于LG_ID和{ {1}}等于NEXUS_4_ID。
modelId
为了实现这一点,hamcrest依赖于您采用JavaBean约定。