任何自动生成Java代码单元测试的工具?
更新: 主要用途是快速生成将要重构的遗留代码的单元测试.自动生成后无需自动使测试与代码保持同步.
这里提出了几乎相同的问题,但答案是针对.NET而不是Java(Pex是公认的答案):
我有一个方法,我试图进行单元测试.此方法将参数作为ArrayList并使用它执行操作.我试图定义的模拟是:
ArrayList<String> mocked = mock(ArrayList.class);
Run Code Online (Sandbox Code Playgroud)
这给出了[未经检查]未经检查的转换"警告.
ArrayList<String> mocked = mock(ArrayList<String>.class);
Run Code Online (Sandbox Code Playgroud)
给了我一个错误.
任何人都想关心我做错了什么?
该应用程序具有CPU密集型长进程,当客户端请求时,该进程当前在一个服务器(EJB方法)上串行运行.
理论上可以(从概念的角度)将该进程拆分为N个块并并行执行它们,只要可以收集并连接所有并行作业的输出,然后再将其发送回发起进程的客户端.我想使用这种并行化来优化性能.
如何使用EJB实现此并行化?我知道我们不应该在EJB方法中创建线程.相反,我们应该发布消息驱动bean(MDB)消息(每个作业一个).但那时它不再是同步通话了.在这种情况下,同步似乎是一个要求,因为我需要在将所有作业的输出发送回客户端之前收集它们的输出.
这有解决方案吗?
我们想要设计一种简单的特定于域的语言来编写测试脚本,以自动测试我们其中一个应用程序的基于XML的接口.样本测试将是:
如果特定于域的语言可以是声明性的,并且其语句看起来尽可能接近上面示例中的句子,那么它将是非常棒的,因为人们不一定必须是程序员来理解/编写/维护测试.就像是:
newObject = GET FILE "http://svn/repos/template1.xml"
reponseMessage = IMPORT newObject
newObjectID = GET PROPERTY '/object/id/' FROM responseMessage
(..)
Run Code Online (Sandbox Code Playgroud)
但后来我不确定如何在Java中为该languange实现一个简单的解析器.回到学校,10年前,我使用Lex和Yacc为C语言编写了一个语言解析器.也许一种方法是使用Java的等价物?
或者,我可以放弃使用声明性语言并选择基于XML的语言,这可能更容易为其创建解析器?你会推荐什么方法?
UPDATE [TABLE] SET [FIELD]=0 WHERE [FIELD] IS NULL
Run Code Online (Sandbox Code Playgroud)
[TABLE]是一个超过7亿行的Oracle数据库表.我在运行6小时后取消了SQL执行.
是否有任何可以提高性能的SQL提示?或任何其他解决方案加快速度?
编辑:此查询将运行一次,然后再也不会运行.
我们最近将我们的一个应用程序从Java 1.4升级到Java 6.
通过一些负载和性能测试,我们观察到Java 6中的可用内存通常保持在比Java 1.4更低的水平.
在使用Java 6对应用程序进行一些分析之后,我们注意到许多对象不再被任何其他对象引用(即垃圾收集的候选者)留在内存中,显然从未被垃圾收集.我们把它作为较低可用内存的解释.
问题是:垃圾收集行为从Java 1.4改为Java 6的方式是什么?
我们的系统将进行平台升级,包括用Java 6替换Java 1.4.
理想情况下,我们希望使用自动化工具在可能的情况下向代码中引入泛型和枚举,然后,显然,我们会检查更改.你有什么工具可以推荐吗?
我使用简单的日期格式,允许用户指定他们发送数据的时区:
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,z");
Run Code Online (Sandbox Code Playgroud)
这很好用:例如
df.parse("2009-05-16 11:07:41,GMT");
Run Code Online (Sandbox Code Playgroud)
但是,如果有人总是在伦敦时间发送时间(即考虑到夏令时),那么要添加的approriate时区字符串是什么?例如,这不起作用:
df.parse("2009-05-16 11:07:41,Western European Time");
System.out.println(date);
Sat May 16 12:07:41 BST 2009
Run Code Online (Sandbox Code Playgroud)
我希望将英国时间与夏令时相匹配.
谢谢.
Oracle 10g中的表空间几乎100%使用.
大小(MB)= 571,768.0
使用(MB)= 571,534.0
我刚刚删除(并提交)表中属于与该表空间关联的模式的数千条记录.令人惊讶的是,根据Enterprise Manager上的"表空间"页面,没有释放任何空间.
问题:是否有任何我需要做的事情来强制Oracle释放与已删除记录相对应的空间?
我需要将 HTML 文档(从DocBook XML 文档生成)转换为 Wiki 标记语言,尤其是PM Wiki标记语言。目标是在我们新创建的 wiki 中包含公司的应用程序操作指南。这意味着我实际上有两个选择:
由于 HTML 是由 DocBook 到 HTML 转换器生成的,因此在 HTML 文档中定义标签的方式变化不大,只有文档的内容。
我正在寻找一种可以自己快速实施的解决方案。每次创建应用程序操作指南的新版本时,我都必须进行一次此转换。
到目前为止我想到的解决方案:
你会为这项工作选择什么方法?
更新:
我刚刚尝试了一个名为ConvertHTML的 PMWiki 扩展。它不能很好地工作,因为它不转换 HTML 标签(例如,没有像 wiki 中那样转换),正如它的文档所说:
PmWiki 标记不支持所有的 HTML 标记,因此 100% 转换是不可能的。但是,PmWiki 可以在编辑或保存文本时对其进行替换。ConvertHTML 实现了一组相对全面的规则,用于将 HTML 标签转换为 wiki …
每个人,
以下是我的代码,显示4个面板
一个在北方,......西,南
我想在EAST的容器上显示我的图像
这怎么可能?
public class ImageProcessor extends JApplet {
JPanel panel1,panel2,panel3,panel4,panel5;
JTextField nameTxt,addTxt,phoneTxt,emailTxt;
JButton capture,download,cancle,sendEmail;
JLabel head,name,add,phone,email;
//function to align components using gridBagLayOut..
private GridBagConstraints getConstraints(int gridx, int gridy,int gridwidth, int gridheight, int anchor)
{
GridBagConstraints c =new GridBagConstraints();
c.insets = new Insets(10,10,10,10);
c.ipadx = 0;
c.ipady = 0;
c.gridx = gridx;
c.gridy = gridy;
c.gridwidth = gridwidth;
c.gridheight = gridheight;
c.anchor = anchor;
return c;
}
//ends here...
public void init() {
panel1 = new JPanel();
panel2 …Run Code Online (Sandbox Code Playgroud) class A {
public: int i;
};
A *a = new A();
Run Code Online (Sandbox Code Playgroud)
如何获得地址a->i?我试过但&a->i也会&(a->i)产生编译时错误:
".i'的左边必须有class/struct/union类型"
在Java 1.4.2及更早版本中,如果获得ClassCastException,则可以看到异常堆栈跟踪,但不能看到类名.如果要查找转换失败的对象的类,则必须进行调试.
在以后的Java版本中它是否仍然相同?如果是这样,它什么时候改变了?