自动生成Java的unit testing?

任何自动生成Java代码unit testing的工具?

更新:主要用途是快速生成要重构的遗留代码的unit testing。 自动生成后,不需要自动保持testing与代码同步。


这里提出的问题几乎是相同的,但答案是.NET而不是Java( Pex是被接受的答案):

自动生成.NET和Java的unit testing用例

  • CodePro Analytix有一个JUnittesting生成模块,听起来像它将做你想要的。 请参阅用户指南 。
  • CoView是一个价格合理的产品,每个用户每年只需9.99美元。
  • AgitarOne自动生成JUnit值得研究。

所有这三种产品在购买之前都有一个尝试,所以你可以使用它们来比较生成的代码和应用程​​序的一小部分。

商业工具:

  • AgitarOne似乎是该领域最大的玩家。 还有30天的试用和免费的networking界面称为JUnit工厂 。 例如, 这里有一个独立的工具使用评论。 testing一代AgitarOne重点关注回归testing。
  • Jtest是1998年以来的又一大玩家。免费试用版存在。 AgitarOne和Jtest都获得了 多次 ,而且都是基于Eclipse的IDE。
  • SilverMarktesting向导,Java版是一个商业产品,显然也可以创build基于Java代码的testing。 这个产品我没有经验。

免费工具:

  • CodePlex AnalytiX曾经是一个商业工具(它是2001年第一个用于Eclipse的商业插件),但是由于Google收购了开发它的公司,该产品已经免费发布。 这是一个基于Eclipse的完整的IDE,2007年的testing生成Jolt Award的决赛选手。function很好,但该工具还没有被更新很久,所以不幸的是不能用当前版本的eclipse,似乎有代码需要Java> = 1.5的问题。
  • EvoSuite是SBST(基于search的软件testing)'13unit testing代产品比赛以及SBST '17unit testing代产品比赛的获奖者 。 存在一个Eclipse插件,Web界面和命令行版本的工具。 有一个回归标准logging,但显然它还没有工作 – testing产生的分支覆盖目标,弱变异覆盖率或强突变覆盖率。
  • Randoop使用反馈式的随机testing生成方法。 该工具自2007年以来一直在不断发展。 Randoop可以生成回归testing和错误查找testing。 这是一个强大而可靠的命令行工具,还有Eclipse插件。
  • Palus声称使用dynamic和静态分析,并build立在Randoop之上。 它的作者声称它已经在Google内部使用。 我对这个软件的经验是,至less当前的版本(0.2)似乎有一些内部问题,似乎没有很好地扩展。
  • Daikon , Eclat , Javalanche , Java PathFinder , JCrasher , jWalk , Korat , RecGen和ReCrash都是免费的工具。

请注意,由Jtest和AgitarOne生成的testing都依赖于许可的跑步者,如果您没有集成插件,则无法运行testing。 这不是我testing过的免费工具,它会产生独立的testing。

免责声明:我不隶属于这些工具,但我已经做了关于这个问题的学术研究。

NetBeans从Java源文件自动执行它(我猜也是其他的IDE)。

也许你可以看看junit插件(链接目前正在下载:-()?

我认为Agitar有一个这样的工具叫做AgitarOne 。 我认为你仍然可以得到它,但确保公司仍然在那里。

Netbeans 8具有内置的function,可以构build比存根更多的unit testing。 要使用此function:

  1. 打开你想testing的类。
  2. Tools菜单中selectCreate/Update Tests
  3. select你想要的任何function。
  4. 打开创build的unit testing并完成testing的其余部分。

如何使用Randoop https://randoop.github.io/randoop/ 。 这适用于Java和.NET