草庐IT

cucumber-junit

全部标签

java - Junit 测试并发

我正在尝试在通过多线程访问时测试java.util.concurrent.ConcurrentLinkedQueue。下面提到的是我使用RepeatedTest在两个并发线程中运行的Junit测试。我的问题是:使用RepeatedTest在ConcurrentLinkedQueue上测试并发性是否正确?源代码如下。谢谢importjava.util.concurrent.ConcurrentLinkedQueue;importjunit.extensions.ActiveTestSuite;importjunit.extensions.RepeatedTest;importjunit.

java - 使用 Springs @Autowired 进行独立的 JUnit 测试

作为测试驱动开发的初学者,我刚刚遇到了一个问题。我的测试课开始如下:@RunWith(SpringJUnit4ClassRunner.class)@Transactional@DirtiesContext@ContextConfiguration(locations={"/web-test.xml"})publicclassXXTest{@AutowiredXXxx;@AutowiredHibernateTemplatetemplate;@TestpublicvoidtestSetGetXXValue()throwsException{finalMapprofilMap=newHash

java - 没有测试用例的 super JUnit 类

我有三个JUnit测试类,它们都有一些通用代码,包括相同的setup()方法。因此,我将这段代码分解到它自己的扩展TestCase的类中,现在三个早期的JUnit测试类扩展了这个新类。新的父类(superclass)本身不包含任何测试。但是,在我们的构建中,JUnit运行所有JUnit测试类,包括没有测试的新父类(superclass)。它给出了这个错误:junit.framework.AssertionFailedError:Notestsfoundincom.acme.ControllerTest我可以通过创建一些在ControllerTest中不执行任何操作的简单测试来消除此错误

java - Eclipse - 当我创建 JUnit 套件时,测试类列表是空的。为什么?

我有一个包含4个测试类的包。我想制作一个JUnit测试套件。所以在Eclipse中,我右键单击我的包并执行New>Other>JUnitTestSuite向导有一个警告,“警告:未选择测试类”并且要包含在套件中的测试类列表:为空。我不确定为什么。我有几个*Test.java类,它们的public方法用@Test注释。我通过JUnit测试用例向导创建了这些......我在其他StackOverflow答案中看到了一些代码,可以用来创建测试套件,但为什么它不能在IDE中运行?我是否应该费心使用测试套件?似乎我只需右键单击该包并选择RunAs>JUnitTest。

java - 由于方法名称,JUnit 测试失败

为什么测试方法的名称会影响其他测试?我有一个包含2类测试的套件,当我更改class1的方法名称时,我在class2中的测试正常(绿色)。我注意到这两个类都有一个同名的方法,但失败的测试不是这些。但是,如果我重命名其中任何一个,所有测试都可以。在不同的类中但在同一个套件中有2个同名的方法可以吗?另一个测试随机失败的事实只是巧合吗?ps:在我重命名该方法后,运行测试的顺序发生了变化。ps2:抱歉我的英语不好。这张图可以更好地解释我的问题: 最佳答案 JUnit中没有错误!我们的团队经历了类似的结果,这是由于资源管理不当造成的。您可以尝试

java - 如何让 maven surefire 正确执行 JUnit 和 TestNG 测试?

一段时间以来,可以配置mavensurefire以在一个构建中执行jUnit测试和testNG测试。我不会详细说明我这样做的原因(好吧,提示:testNG是我们的标准框架,但一些框架如jnario需要jUnit)。一般的做法是像这样配置surefire插件:maven-surefire-plugin${surefire.version}org.apache.maven.surefiresurefire-junit47${surefire.version}org.apache.maven.surefiresurefire-testng${surefire.version}(takenfr

java - 一个 JUnit 如何测试交互式的、基于文本的 Java 应用程序?

理想情况下,我想编写JUnit测试代码,以交互方式测试学生基于文本的I/O应用程序。使用System.setIn()/.setOut()会导致问题,因为底层流正在阻塞。Birkner的系统规则(http://www.stefan-birkner.de/system-rules/index.html)在较早的帖子(Testingconsolebasedapplications/programs-Java)中被推荐,但它似乎要求在运行单元测试目标之前提供所有标准输入,因此不是交互式的。要提供具体的测试目标示例,请考虑这个猜谜游戏代码:publicstaticvoidguessingGame

java - eclipse junit 差异窗口

以前,当我在eclipse下使用JUnit时,我常常双击JUnitView中的某处,然后弹出一个比较窗口。这显示了实际与预期之间的确切差异(如版本控制系统所做的,例如gitdiff工具)。现在我再也找不到它了。它在哪里?或者它是否从新版本中删除? 最佳答案 您在JUnitView中双击失败。请注意,差异仅在测试因ComparisonFailure而失败时可用 关于java-eclipsejunit差异窗口,我们在StackOverflow上找到一个类似的问题:

java - 为什么 JUnit 5 测试不从抽象类继承 @Test 注解?

我刚刚意识到(在将遗留代码从JUnit4迁移到JUnit5时)我们的一些测试方法没有执行,因为它们没有@Test注释。他们没有它,因为它们覆盖了抽象父类(superclass)(存在注释的地方)的方法。我可以通过向每个方法添加@Test轻松解决此问题。但我想知道这是否是预期的行为。它从JUnit4更改为5,但我在officialJUnit5UserGuide中找不到任何相关信息或其他任何地方。根据thisquestion,注解通常不被继承。但似乎这是在新的JUnit版本中有意更改的。(或者我错过了什么?)抽象测试类importorg.junit.jupiter.api.Test;abs

java - 如何在 JUnit 测试类中运行(或更改顺序)特定测试方法?

我是Java的新手。我构建了一个JUnit测试类,并且在这个文件中有许多测试方法。当我运行此类(在NetBeans中)时,它会按顺序运行类中的每个测试方法。问题1:如何只运行此类中测试方法的特定子集?(可能的答案:为我希望忽略的测试在@Test上方写上@Ignore。但是,如果我想指出我想运行哪些测试方法而不是我想忽略的测试方法,是否有更方便的方法来执行此操作?)问题2:有没有一种简单的方法可以更改各种测试方法的运行顺序?谢谢。 最佳答案 你应该阅读TestSuite的。它们允许对您的单元测试方法进行分组和排序。这是一个摘录表格th