我有一个包含很多类的Java项目。现在我想得到一个包含所有jUnit测试的列表。我的想法是使用grep。
所以我导航到根文件夹,并使用以下命令:
grep junit -R ./ > output.txt
但显然这不正确。所以我的问题是。如何正确命令?有没有更容易找到jUnit测试的方法?
答案 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 *
但是你需要小心一点,因为它会遍历所有文件,包括罐子。
最好使用find
或ack
:
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
注释