我有一段看起来像这样的代码:
String myJsonString = mapper.writeValueAsString(object).replaceAll("(\\r|\\n|\\r\\n)+", "\\\\n") + "\n";
现在,该代码存在于“可调用”块中 - 因此,在单元测试时无用。
我知道我可以按照将正则表达式拉入Pattern类的方式做一些事情......然后以这种方式匹配 - 但我想得到一些关于最佳实践的输入 - 我没有我希望拥有多少单元测试,我知道总有更好的方法可以做这些事情。
实际的代码块,以便更好地参考
Callable<Boolean> doStuff = new Callable<Boolean>() {
public Boolean call() throws Exception {
String json = mapper.writeValueAsString(object).replaceAll("(\\r|\\n|\\r\\n)+", "\\\\n") + "\n";
// TODO : Add functionality which adds this string to a list.
return true;
}
};
答案 0 :(得分:1)
将代码分解为(单元可测试的)方法:
protect_from_forgery with: :null_session,
if: Proc.new { |c| c.request.format =~ %r{application/json} }