不是所有的junit测试都在eclipse中运行

sq1bmfud  于 2023-06-29  发布在  Eclipse
关注(0)|答案(7)|浏览(121)

我在eclipse中有一个java项目,当我按下project right click -> run as junit时,一些测试不运行。我附上了一张图片,例如YamiMailSenderTest
当我尝试直接运行测试时,它们正在运行。
我用的是eclipse 3.7.2。

扩展视图:

你知道吗?

sigwle7e

sigwle7e1#

遇到同样的问题,我的错误是我写了:public void myMethodName(){ //assertions }
而不是:public void testMyMethodName() { //assertions }
MyMethodName之前的测试很重要。

68de4m5k

68de4m5k2#

虽然有点晚了,但如果有人通过搜索引擎找到这个:
如果一个测试运行多次,JUnit提供的结果对于这些测试是无法区分的,因此只显示一次运行的结果。另请参阅以下Eclipse bug报告:https://bugs.eclipse.org/bugs/show_bug.cgi?id=172256

wztqucjr

wztqucjr3#

检查您是否是excluding tests from run by attributes,并在Run > Run Configurations下检查您的JUnit配置是否排除了任何测试。

zpqajqem

zpqajqem4#

jUnit 4中,测试用例需要有**@Testannotation。测试用例可以通过@Ignoreannotation设置为忽略。整个测试类也可以通过在类声明的正上方放置@Ignore**注解来设置为忽略。注意:在jUnit 4中,不需要像在jUnit 3中那样扩展Testcase类。一切都在注解中。
我不知道jUnit 3,因为我只用了4。

q35jwt9p

q35jwt9p5#

我也遇到过类似的问题。出于某种原因,“RunAs-> jUnitTest”总是跳过第一个测试包。我使用的是Eclipse和SpringSource的旧版本。
我回到了朱诺-版本:4.2.1和我所有的测试运行时,我执行:运行As -> jUnit Test。“

ca1c2owp

ca1c2owp6#

我也有同样的问题。Eclipse只能识别并运行9个测试中的5个。经过大量的故障排除,我发现了这个技巧来说服Eclipse识别剩下的测试:只要打开每个文件,按空格键,然后按退格键将其标记为已更改,然后保存即可。然后,Eclipse将其识别为测试。

niknxzdl

niknxzdl7#

在我的情况下,原因似乎是多种因素的组合。对我来说,正确的属性组合是:

  • 测试类被声明为public
  • 测试方法被声明为public而不是static:

public boolean canCatch(){
尽管Eclipse可能会say

  • Run as... -> Run configurations应该声明(所有方法)都经过测试,并且使用了JUnit 5。x1c 0d1x
  • 测试文件中的导入包含Annotation @Test的正确源,即:

import static org.junit.Assert.*; import org.junit.Test;//import org.junit.jupiter.API.Test;

相关问题