我正在尝试模拟一些mongo类,这样我就不需要连接(相当标准的东西)但是下面的代码给了我一些问题:
when(dbCollection.find(isA(DBObject.class))).thenReturn(dbCursor);
Run Code Online (Sandbox Code Playgroud)
运行这个让我:
org.mockito.exceptions.misusing.InvalidUseOfMatchersException:
参数匹配器的使用无效!
0匹配器预期,1记录:
at ... GridFileManagerTest.beforeClass(GridFileManagerTest.java:67)如果匹配器与原始值组合,则可能发生此异常:
// wrong:someMethod(anyObject(),"raw String");使用匹配器时,所有参数都必须由匹配器提供.
例如:
// correct:
someMethod(anyObject(),eq("by matcher"));有关更多信息,请参阅Matchers类的javadoc.
如果我这样做的话:
when(dbCollection.find(mock(DBObject.class))).thenReturn(dbCursor);
Run Code Online (Sandbox Code Playgroud)
它不再有这个问题.这似乎没有实现我想要的 - 我想在使用DBObject类型的对象调用方法时返回值.
思考?
是否有现有的函数(或者可能有人编写了一些现有代码)在JS函数中验证传递的文本是否有效PCRE?我一直在谷歌搜索疯狂,但我能找到的最接近的东西只是"PCRE_JAVASCRIPT_COMPAT"(这是一个PCRE兼容性标志)或讨论验证PHP和Javascript中的输入.
我见过的最接近Javascript REGEX验证的是:
try {
"".match(regex);
return true;
} catch (e) {
return false;
}
Run Code Online (Sandbox Code Playgroud)
这没有考虑JS(ECMA)正则表达式和PHP(PCRE)正则表达式之间的差异 - 这显然是一个问题,但我没有找到两者之间差异的明确讨论.
有什么帮助吗?