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

如何在Java项目中找到jUnit测试?,java,junit,grep,Java,Junit,Grep,我有一个包含很多类的Java项目。现在我想得到一个包含所有jUnit测试的列表。我的想法是用grep来做这个 因此,我导航到根文件夹,并使用以下命令: grep junit -R ./ > output.txt 但显然这是不对的。所以我的问题是。正确的命令是什么?有没有更容易找到jUnit测试的方法 find . -name "*.java" | xargs grep -il "junit" 英文: 从当前目录开始,查找以“.java”结尾的所有文件。 对于找到的每个文件,对“juni

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

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

grep junit -R ./ > output.txt
但显然这是不对的。所以我的问题是。正确的命令是什么?有没有更容易找到jUnit测试的方法

find . -name "*.java" | xargs grep -il "junit"
英文: 从当前目录开始,查找以“.java”结尾的所有文件。
对于找到的每个文件,对“junit”进行不区分大小写的搜索。
如果找到“junit”,则只打印文件名

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

您需要:

grep -r junit *
但是你需要小心一点,因为它会遍历所有文件,包括jar

最好使用
find
或:

更无聊的是:

find . -name *.java | xargs grep junit
ack --java junit # Or, more accurately:
ack --java 'import\s.*?junit.*'
(如果你没有使用ack,对于某些东西来说,它简直太棒了。)

你需要:

grep -r junit *
但是你需要小心一点,因为它会遍历所有文件,包括jar

最好使用
find
或:

更无聊的是:

find . -name *.java | xargs grep junit
ack --java junit # Or, more accurately:
ack --java 'import\s.*?junit.*'
(如果你不使用ack,对于某些东西来说,它简直太棒了。)

如果您也有junit 3,则可以运行:

find . -name *Test.java >> _1
如果您也有junit 3,则可以运行:

find . -name *Test.java >> _1

我将
grep
用于“
扩展测试用例”
”——结果可能会更可靠

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


根据您是使用JUnit3还是JUnit4,您可能没有
@Test
注释

我将
grep
用于“
扩展测试用例
”——结果可能会更可靠

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


根据您使用的是JUnit3还是JUnit4,您可能没有
@Test
注释

谢谢。你能解释一下第一行吗?@Roflcoptr它正在为
@Test
注释进行grepping,并将文件名取出。但在OSX上不起作用,获取重复的文件名,而不包含上下文信息。我喜欢确认的一个原因是:谢谢。你能解释一下第一行吗?@Roflcoptr它正在为
@Test
注释进行grepping,并将文件名取出。但在OSX上不起作用,获取重复的文件名,而不包含上下文信息。我喜欢ack的一个原因是:是的,但是JUnit4测试不扩展TestCase@MatthewFarwell真正地你能发一封推荐信来证实这一点吗?我的印象是,所有jUnit测试(根据定义)
extend TestCase
TestCase都是JUnit3的一部分,它仍然可以与JUnit4一起使用,但不是必需的。试试看。是的,但是JUnit4测试不会扩展TestCase@MatthewFarwell真正地你能发一封推荐信来证实这一点吗?我的印象是,所有jUnit测试(根据定义)
extend TestCase
TestCase都是JUnit3的一部分,它仍然可以与JUnit4一起使用,但不是必需的。试试看。