为旧版 Java 代码自动生成单元测试 [已关闭]

2022-09-04 20:48:42

对于自动生成Java单元测试,最好的,最好是免费/开源工具是什么?我知道,单元测试不能真正达到与普通TDD单元测试相同的目的,后者记录和驱动系统的设计。但是,如果您拥有庞大的旧代码库,并且想知道您需要进行的更改是否会产生不必要的、晦涩难懂的副作用,则自动生成的单元测试可能很有用。


答案 1

不是免费的。不是开源的。但是我发现AgitarOne搅拌器(http://www.agitar.com/solutions/products/agitarone.html)非常适合自动生成单元测试并寻找不需要的晦涩副作用。


答案 2

这很有趣,但这种生成的单元测试实际上很有用。如果您正在处理遗留应用程序,则通常很难编写正确的,最先进的单元测试。

这样生成的测试(当然,如果您有生成它们的方法)可以确保代码的行为在更改期间保持不变,这可以帮助您重构代码并编写更好的测试

现在关于生成自身。我不知道任何神奇的工具,但你可能想搜索JUnit功能,在javadocs中包含一些方法测试。这将允许您编写一些简单的测试。是的,它实际上有一定的价值。

其次,你可以手工编写“大”测试。当然,这些本身并不是单元测试(没有隔离,潜在的副作用等),但可能是很好的第一步。特别是如果您没有时间和遗留应用程序。

奖金提示!有一本很好的书“有效地使用遗留代码”,其中包含Java中的示例,包括在这种情况下正确使用的技术。不幸的是,您必须手动执行某些操作,但无论如何,您都必须在某个步骤中执行此操作。


推荐