小编uth*_*ark的帖子

在大多数JUnit测试中抛出异常是否违反最佳做法?

几乎所有的JUnit测试都使用以下签名编写:

public void testSomething() throws Exception
Run Code Online (Sandbox Code Playgroud)

我的理由是我可以专注于我正在测试的内容,而不是JUnit似乎免费提供给我的异常处理.但这样做我错过了什么吗?这是违反最佳做法的吗?我可以通过在测试中明确捕获特定异常然后失败()来获取任何东西吗?

java junit unit-testing

44
推荐指数
2
解决办法
1万
查看次数

为什么ggplot中的boxplot需要x轴和y轴?

我有一个变量ceroonce,它是2011年每个县的学校数量(整数).当我绘制它时boxplot(),它只需要ceroonce变量.然后检索箱图,其中y轴是学校的数量,x轴是......"因子"ceroonce.但是ggplot,在使用时geom_boxplot,它需要我输入x和y轴,但我只想要一个ceroonce的箱形图.我尝试输入ceroonce作为x轴和y轴.但是后来检索了一个奇怪的箱形图,其中y轴是学校的数量,但x轴(应该是因子变量)也是学校的数量?我假设这是非常基本的统计数据,但我只是感到困惑.我附上图片希望这将澄清我的问题.

这是我正在使用的代码:

ggplot(escuelas, aes(x=ceroonce, y=ceroonce))+geom_boxplot()
boxplot(escuelas$ceroonce)
Run Code Online (Sandbox Code Playgroud)

r

22
推荐指数
2
解决办法
2万
查看次数

结合弹簧安全3和球衣休息api

我有一个场景,我试图将spring security和jersey结合起来用于我的REST API.

我的需求相当复杂(我认为),具体如下:

Spring安全性用于拦截URL并强制进行基本身份验证以访问REST资源.这似乎没问题,因为我正在使用http客户端来测试它.

但是,我想要做的是以某种方式访问​​加载的User对象,以检查挂起用户的一些其他权限(带有布尔标志的地图对象,以指示对象属性是否可见).执行加载的代码有效,但是在Spring验证后如何在实际的REST Resource方法本身中访问User对象?这可能吗?

所以步骤是:

1)客户端进行REST API调用2)Spring拦截URL检查http头中提供的用户名和密码3)如果存在有效凭证,则访问其余资源方法

但在第3步之前,我想以某种方式将加载的User对象传递给实际的Resource方法本身,这样我可以进一步应用一些逻辑来限制用户可以根据我加载的权限看到的内容??? 这可能吗?我想在使用Spring和REST访问方法之前,我已经看到某些代码检查用户角色,但是如果有人有任何链接或想法非常好.

如果可以的话请帮忙.非常感谢.

rest jersey spring-security

8
推荐指数
1
解决办法
5178
查看次数

如何在Java Web服务中重载方法?

假设我在我的Web服务中声明了以下方法:

@WebMethod()
public Long addNewApplication(String applicationName) throws ServiceManagerException {
    // implementation
}

@WebMethod()
public Long addNewApplication(String applicationName, ApplicationState status) throws ServiceManagerException {
    // implementation
}
Run Code Online (Sandbox Code Playgroud)

问题是上面不起作用,我得到以下异常:

org.springframework.remoting.jaxws.JaxWsSoapFaultException: Cannot find dispatch method for Request=[SOAPAction="",Payload={http://example.org/applicationManager}addNewApplication]; nested exception is javax.xml.ws.soap.SOAPFaultException: Cannot find dispatch method for Request=[SOAPAction="",Payload={http://example.org/applicationManager}addNewApplication]
at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:503)
at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.invoke(JaxWsPortClientInterceptor.java:487)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy123.addNewApplication(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

如果我重命名方法以便它们具有不同的名称,那么一切都有效.是否可以在Web Service中使用重载方法?如果是,那怎么样?

java spring web-services jax-ws

6
推荐指数
2
解决办法
8224
查看次数

Mark方法调用它总是返回非null结果

Scala编译器-Xcheck-null尝试检查运行时是否存在任何潜在的空指针取消引用.

这对我来说没问题,但是我得到了太多误报,即假设我定义了记录器:

private final val LOGGER: Logger = LoggerFactory.getLogger(classOf[GenericRestImpl])
Run Code Online (Sandbox Code Playgroud)

该方法getLogger永远不会返回null.我怎样才能将这些知识传递给编译器,这样它就不会抱怨?

[WARNING] TestImpl.scala:31: warning: potential null pointer dereference: LOGGER.debug
[WARNING]       LOGGER.debug("Using {} for sort", sortParam)
Run Code Online (Sandbox Code Playgroud)

当我创建新实例时,我可以用NotNull特征标记它:

return new Foo() with NotNull.
Run Code Online (Sandbox Code Playgroud)

没关系,但是如何处理从其他方法返回的对象呢?特别是如果它来自第三方图书馆?我不喜欢将我的所有变量标记为Optional,因为它会增加太多的开销.另外,我不喜欢创建隐式转换的想法(因为对于我想要标记为NotNull的每个类,它需要额外的类.

我还检查了Scala的NotNull特征的问题库支持,但它没有帮助解决我的问题.

scala nullable compiler-warnings notnull

6
推荐指数
1
解决办法
391
查看次数

在JUnit中将"assertTrue"重写为"assertThat"?

List<String> list1 = getListOne();
List<String> list2 = getListTwo();
Run Code Online (Sandbox Code Playgroud)

鉴于上面的代码,我想使用JUnit assertThat()语句来声明它list1是空的还是list1包含的所有元素list2.在assertTrue这个相当于是:

assertTrue(list1.isEmpty() || list1.containsAll(list2)).

如何将此表述为assertThat声明?

谢谢.

junit hamcrest

5
推荐指数
1
解决办法
1万
查看次数

NSString sizeWithFont:iOS7中的替代品

该方法(sizeWithFont: forWidth: lineBreakMode:)在iOS 7.0中已弃用.

但是如何在iOS 7.0中执行相同的操作呢?

CGSize fontSize =[self.text sizeWithFont:self.font forWidth:self.frame.size.width lineBreakMode:NSLineBreakByTruncatingTail];
Run Code Online (Sandbox Code Playgroud)

可以(boundingRectWithSize:options:attributes:context:)这样吗?我不确定,但这是我在Apple文档中搜索的方法.

谢谢你的协助.

ios7

4
推荐指数
1
解决办法
5008
查看次数