如何在Java项目中找到jUnit测试?

时间:2011-11-10 21:53:17

标签: java junit grep

我有一个包含很多类的Java项目。现在我想得到一个包含所有jUnit测试的列表。我的想法是使用grep。

所以我导航到根文件夹,并使用以下命令:

grep junit -R ./ > output.txt

但显然这不正确。所以我的问题是。如何正确命令?有没有更容易找到jUnit测试的方法?

4 个答案:

答案 0 :(得分:4)

find . -name *.java | egrep -R @Test . | cut -f1 -d" " | cut -f1 -d: > _1

如果你也有junit 3,那么你可以运行:

find . -name *Test.java >> _1

答案 1 :(得分:1)

find . -name "*.java" | xargs grep -il "junit"

英文: 从当前目录开始,查找以“.java”结尾的所有文件 对于找到的每个文件,请对“junit”进行不区分大小写的搜索 如果找到“junit”,则仅打印文件名。

答案 2 :(得分:1)

你想要:

grep -r junit *

但是你需要小心一点,因为它会遍历所有文件,包括罐子。

最好使用findack

ack --java -cl '@Test' # Print filenames with, and # occurences of, @Test annotations

或者更无聊:

find . -name *.java | xargs grep junit
ack --java junit # Or, more accurately:
ack --java 'import\s.*?junit.*'

(如果你没有使用ack,对某些东西来说,它真棒。)

答案 3 :(得分:0)

我会grep代表“extends TestCase” - 结果可能会更可靠

任何扩展TestCase的类都自动成为JUnit类。

根据您使用的是jUnit 3还是4,您可能没有@Test注释