Enum值的unit testing不存在?

一些示例代码首先…… 枚举: public enum TestEnum { YES, NO } 一些代码: public static boolean WorkTheEnum(TestEnum theEnum) { switch (theEnum) { case YES: return true; case NO: return false; default: // throws an exception here } } 问题: TestEnum是我从不同开发人员的不同代码导入的东西。 所以它实际上可以改变。 对于这种情况,我想要进行unit testing,实际检查该非现有值。 但我根本不知道如何用Mockito和JUnit做到这一点。 这部分当然不起作用: @Test(expected=Exception.class) public void DoesNotExist_throwsException() throws Exception { when(TestEnum.MAYBE).thenReturn(TestEnum.MAYBE); WorkTheEnum(TestEnum.MAYBE); } 我发现了一个使用PowerMock的例子,但我无法与Mockito合作。 有任何想法吗?

Java排序:按属性排序对象数组,不允许对象使用Comparable

我有一个类,包含一个Book对象的数组,我需要根据Book的属性(Title或PageNumber)对数组进行排序。 问题是我不允许将Comparable类与Book一起使用。 您如何推荐我在图书馆中排列图书? 写我自己的那种? 或者有更简单的方法吗? 如果您需要代码片段,请询问!

JavaFx 2.x – Swing:不在FX应用程序线程上

我试图通过使用附加JFXPanel的JInternalFrame来使用JavaFx 2.x和Swing应用程序 我的代码如下 public class InternalFrameWithJavafx extends javax.swing.JFrame { /** * Creates new form InternalFrameWithJavafx */ public InternalFrameWithJavafx() { initComponents(); final JInternalFrame frame = new JInternalFrame(); frame.setTitle(“test InternalFrame”); frame.setVisible(true); frame.setResizable(true); frame.setIconifiable(true); frame.setMaximizable(true); frame.setIconifiable(true); frame.setClosable(true); frame.setSize(800,600); frame.setLocation(0, 0); frame.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); SwingUtilities.invokeLater(new Runnable() { @Override public void run() { final JFXPanel javafxPanel = new JFXPanel(); BorderPane pane = […]

什么是Java 7 try-with-resources字节码等效使用try-catch-finally?

我试图通过使用常规的try-catch-finally语句重新创建它来了解新的try-with-resources语句是如何工作的。 给定以下使用Java 7 try-with-resources的测试类: import java.io.IOException; import java.util.zip.GZIPOutputStream; public class TryWithResources { public static void main(String[] args) { try (GZIPOutputStream gzip = new GZIPOutputStream(System.out)) { gzip.write(“TEST”.getBytes(“UTF-8”)); } catch (IOException ioe) { ioe.printStackTrace(); } } } 你会如何重写这个类来使用try-catch-finally语句,它产生与try-with-resources语句产生完全相同的字节码? 此外,使用两个资源时的问题相同,如下例所示: import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.zip.GZIPOutputStream; public class TryWithResources2 { public static void main(String[] args) { try (ByteArrayOutputStream […]

将.c转换为.java

有什么工具可以将C代码转换成Java代码吗? 我有兴趣将此代码转换为Java: ***************************************************************************/ /* ** UNECM – Decoder for ECM (Error Code Modeler) format. ** Version 1.0 ** Copyright (C) 2002 Neill Corlett ** ** This program is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License ** as published by the Free Software Foundation; […]

net.sf.jasperreports.engine.util.JRStyledTextParser上的JasperReports NoClassDefFoundErrorexception

尝试在WebLogic 11g上导出时,它会抛出NoClassDefFoundexception。 我检查了应用程序WAR,jasperreports-3.7.4.jar包含在WEB-INF / lib文件夹中。 错误是什么? 堆栈跟踪 java.lang.NoClassDefFoundError:net / sf / jasperreports / engine / util / JRStyledTextParser at net.sf.jasperreports.engine.fill.JRBaseFiller。(JRBaseFiller.java:181)at net.sf.jasperreports.engine.fill.JRVerticalFiller。 (JRVerticalFiller.java:76)at net.sf.jasperreports.engine.fill.JRVerticalFiller。(JRVerticalFiller.java:86)at net.sf.jasperreports.engine.fill.JRVerticalFiller。(JRVerticalFiller.java:56)at net。 sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:142)at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:78)at net.sf.jasperreports.engine.JasperFillManager。 fillReport(JasperFillManager.java:624)在org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView.fillReport(AbstractJasperReportsView.java:676)at at

配置Maven Shade minimizeJar以包含类文件

我试图通过使用Maven Shade Plugin的minimizeJar来最小化UberJar的大小。 看起来minimizeJar只包含在代码中静态导入的类(我怀疑这是因为我在org\apache\commons\logging\中的uber jar中看到了LogFactory.class ,但是没有包含impl包的类,因此抛出java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl当我运行uber-jar时, java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl 。 有什么方法我可以告诉Maven的Shade插件将指定的包包含到最终的jar中,无论minimizeJar建议什么? 这是我正在尝试的pom片段: org.apache.maven.plugins maven-shade-plugin 1.5 package shade true commons-logging:commons-logging org/apache/commons/logging/** com.myproject.Main

Java中的类型擦除和重载:为什么这样做?

我有以下代码: public class Pair { public T first; public U second; } public class Test { public int method( Pair pair ) { return 0; } public double method( Pair pair ) { return 1.0; } } 这实际上编译和工作就像人们期望的那样。 但是如果返回类型相同,则不会编译,预期的“名称冲突:方法(对)和方法(对)具有相同的擦除” 鉴于返回类型不是方法签名的一部分,这种重载怎么可能?

JPA为每个项目选择最新实例

假设我有一个会议实体。 每次会议都有一位与会者和一个会面日期。 在我的会议表中,每个与会者可能会有多个会议,每个会议的日期各不相同。 我需要一个JPA查询,它只会为所有与会者选择最新的会议。 例如,如果我的表看起来像这样 Meeting ID | Attendee ID | Meeting Date 1 | 1 | 6/1/2011 2 | 2 | 6/1/2011 3 | 1 | 6/6/2011 4 | 3 | 6/6/2011 我的结果应该是 Meeting ID | Attendee ID | Meeting Date 2 | 2 | 6/1/2011 3 | 1 | 6/6/2011 4 | 3 […]

替代Subversion中的二进制文件

我的一些同事确信将构建工件提交到subversion存储库是个好主意。 这样的论点就是这样,测试机器上的安装和更新很容易 – 只需“svn up”! 我确信有很多反对这种不良做法的论据,但我能想到的只是“它占用更多空间”等蹩脚的行为。 没有做到这一点的最佳,杀手原因是什么? 还有什么其他方法呢? 这是针对Java代码的,如果这会产生影响。 一切都是从Eclipse编译的(没有自动PDE构建)。 当我说添加构建工件时,我的意思是提交看起来像这样: “Added the new Whizbang feature” M src/foo/bar/Foo.java M bin/Foo.jar 每个代码更改都有相应的生成的jar文件。