【发布时间】:2013-12-14 09:36:02
【问题描述】:
我正在 Windows 上的 NetBeans 7.4 下开发 REST 服务器(使用 Java SE Runtime 1.7.0_21-b11) 然后将 .war 部署在运行 Tomcat (Java 1.7.0_45-b18) 的 Linux 机器上,使用 ant 自动构建 TeamCity 来构建 .war
我正在尝试使用实现 HttpServletRequest 的自定义构建类对 REST 方法进行单元测试,该类仅实现几个方法。
public class HttpMockReq implements HttpServletRequest { @Override ... }
我的问题是,该接口的定义在我的 Windows 开发环境中以及当我在 Linux 上使用 ant 编译它时是不同的。具体来说,在 Windows 上的 HttpServletRequest 中定义了 3 个在 Linux 版本中不存在的方法:
changeSessionId,
upgrade
和
setContentLength
Linux 版本抱怨我没有用这些(假)方法覆盖任何东西。
我实际上对 HttpServletResponse 有同样的问题
setContentLengthLong
我对不同的库、工具和 java 安装有点迷茫。我无法弄清楚 Windows 端(Java 7 的版本稍旧)如何/为什么对这些接口有更广泛的定义。
附带问题:有没有办法让这些环境中的一个接受@Ignore 或其他东西的更丰富或更糟糕的实现?
【问题讨论】: