草庐IT

单元化

全部标签

java - 具有不可预测的外部依赖性的单元测试代码

我参与了一个项目,除其他外,该项目必须控制各种实验室仪器(机器人、阅读器等...)大多数这些仪器都是通过基于DCOM的驱动程序、串行端口或通过启动具有各种参数的专有程序来控制的。这些程序或驱动程序中的一些包含模拟模式,一些则不包含。显然,我的开发计算机无法连接到所有仪器,虽然我可以为驱动程序包含模拟模式的仪器启动虚拟机,但如果没有实际仪器,有些东西无法测试。现在,我自己的代码主要不是关于仪器上的实际操作,而是关于开始操作,确保一切正常,并在它们之间进行同步。它是用Java编写的,使用各种库与仪器及其驱动程序进行交互。我想为各种仪器控制模块编写单元测试。然而,因为仪器可能会以多种方式失败

java - JTable - Boolean.class 单元格渲染器和 Nimbus 外观的问题

我正在使用JTable来可视化一些数据。一栏注定要通过复选框显示boolean数据。我通过从表模型中覆盖的getColumnClass()函数返回Boolean.class来实现这一点。不幸的是,这会导致单元格带有复选框但没有适合当前行的背景颜色。我使用这篇文章的答案解决了这个问题:JTable-BooleanCellType-Background现在我试图增加交替行的对比度。我通过设置我正在使用的NimbusLAF的适当属性来实现这一点。UIDefaultsdefaults=UIManager.getLookAndFeelDefaults();defaults.put("Table.

java - 自动(半)创建单元测试?

是否有支持从注释生成一些标准单元测试的框架?我想到的一个例子是:@HasPublicDefaultConstructorpublicclassFoo{}这显然会被用来自动生成一个单元测试来检查Foo是否有默认构造函数。我是唯一想到类似事情的人吗?;)虽然我对Java最感兴趣,但其他语言的解决方案肯定也会很有趣。编辑:为了回应S.Lott的回答,让我澄清一下:我正在尝试测试该类是否具有默认构造函数。(当然这只是一个例子。)我可以通过编写测试来做到这一点,但我觉得那很乏味。所以我正在寻找一种可以在编译时(通过APT)处理注释并为我生成测试的工具。有这样的东西吗?如果不是,您认为这是个好主意

java - 对 EJB 进行单元测试

我正在寻找一种将TDD应用于sessionBean的方法。任何人都可以提供有关如何对其进行单元测试的建议和链接吗?如何使用JUnit来做到这一点?P.S:我是测试驱动开发和sessionBean的新手。我正在使用EJBv2。 最佳答案 我假设您正在谈论EJB2.xsessionBean。对于这些动物,我喜欢做的是:将sessionBean用作包装器,将逻辑委托(delegate)给POJO,您可以在容器外轻松地对其进行测试。外部容器测试更好、更快、更容易等,但不会涵盖部署描述符验证等内容-和/或-使用像Cactus这样的东西用于容器

java - 如何将鼠标监听器添加到包含呈现为复选框的 boolean 值的 JTable 单元格

我有一个JTable,其中实现了扩展AbstractTableModel的自定义模型。publicabstractclassAbstractTableextendsAbstractTableModel{publicClassgetColumnClass(intc){}}因为我已经实现了getColumnClass方法,所以boolean值在表中呈现为复选框。我想拦截复选框的状态更改,但不幸的是我不能直接添加鼠标监听器,因为我没有对复选框本身的引用,它不是我创建的。如何设置鼠标监听器来拦截复选框状态更改事件?编辑:@jzd回答正确。我可以捕捉到setValue方法的变化。但我想知道如何实

java - 单元测试 : assert not work?

我刚刚应用了一段时间的UnitTest,今天我遇到了一些很奇怪的事情。考虑以下代码:TestObjectalo=null;assertalo!=null;//Pass!!!Assert.assertNotNull(alo);//Fail,asexpected.我四处搜索,发现assert是java内置的,而assertNotNull是JUnit支持的。但是我不明白为什么assert不提示空对象? 最佳答案 Hoang,我认为您对Java语言断言和JUnit断言有点混淆。Java中的assert关键字是在1.4中添加的,旨在允许验证类

java - App Engine Java JDO 中的单元测试 XG 跨组事务

我在AppEnginejavajdo中有一个跨组事务。它在本地开发应用引擎服务器上运行良好。但是,从单元测试中,我得到一个java.lang.IllegalArgumentException:transactionsonmultipleentitygroupsonlyallowedinHighReplicationapplications。是否可以使用LocalServiceTestHelper模拟高复制应用程序?我正在使用1.6.6。这是我的类(class),您可以按原样运行它以重现:publicclassDs2Test{privatefinalLocalServiceTestHel

java - 如何在 Java 的 POI 中使用 XWPFTable 合并单元格(或应用 colspan)?

在poi中创建表格非常简单,但它的教程非常有限,我找不到可以在生成docx文件时在表格中创建简单合并单元格的教程。 最佳答案 如果您已经创建了表格、表格内的行和行内的单元格,您可以将gridSpan添加到单元格属性:if(cell.getCTTc().getTcPr()==null)cell.getCTTc().addNewTcPr();if(cell.getCTTc().getTcPr().getGridSpan()==null)cell.getCTTc().getTcPr().addNewGridSpan();cell.getC

java - 为了单元测试添加 'Getters' 和 'Setters'?

我目前正在处理一些非常不稳定的代码。代码本身不是遗留的,但它使用的框架是遗留的并且非常糟糕。我想开始为一个类编写一些junit测试(为了改变!),但为了有效地做到这一点,我需要添加一些getter和setter。我需要setter以便我可以检查类中私有(private)变量的状态(这里进行的一种状态机设计模式)并且我需要getter来模拟某些方法中的私有(private)变量是什么。你们认为为了能够编写单元测试而将getter和setter添加到类中是坏的、好的还是可以接受的? 最佳答案 我会避免它。一般来说,您应该尽可能地构建事物

Java Swing - JList 自定义单元格渲染 - 捕获 Action

每当我为JList创建自定义单元格渲染器时,我添加到其中的任何元素都不会响应操作。例如,如果我让单元格渲染器返回一个带有元素的JPanel,其中一个元素有一个ActionListener,它根本不会响应。这是为什么? 最佳答案 渲染器可能看起来像一个为单元格返回组件的工厂,但实际上它遵循享元渲染方法并使用相同组件渲染所有单元格(每次调用getListCellRendererComponent()都应该为特定单元格重新配置相同的组件实例并返回它,以便可以呈现单元格)。这样,您可以让JList(以及JTable和JTree)显示大量的单